| // RUN: %clang_cc1 -fsyntax-only -verify %s |
| // expected-no-diagnostics |
| // conversion of C* to B* is better than conversion of C* to A*. |
| // conversion of B* to A* is better than conversion of C* to A* |
| void test_f1(ConvertsTo<B*> toB, ConvertsTo<C*> toC, ConvertsToBoth toBoth) { |
| // A conversion to an a non-id object pointer type is better than a |
| // A conversion to an a non-Class object pointer type is better than a |
| // conversion to 'Class'. |
| // When both conversions convert to 'id' or 'Class', pick the most |
| // specific type to convert from. |
| void test_f4(ConvertsTo<B*> toB, ConvertsTo<C*> toC, ConvertsToBoth toBoth) { |
| void test_f5(ConvertsTo<B*> toB, ConvertsTo<C*> toC, ConvertsToBoth toBoth) { |
| // A conversion to an a non-id object pointer type is better than a |
| // conversion to qualified 'id'. |