1 // RUN: %clang_cc1 -fsyntax-only -pedantic -verify %s
2 int* quals1(int const * p
);
3 int* quals2(int const * const * pp
);
4 int* quals3(int const * * const * ppp
); // expected-note{{candidate function}}
6 void test_quals(int * p
, int * * pp
, int * * * ppp
) {
7 int const * const * pp2
= pp
;
10 quals3(ppp
); // expected-error {{no matching}}
14 void mquals1(int const A::*p
);
15 void mquals2(int const A::* const A::*pp
);
16 void mquals3(int const A::* A::* const A::*ppp
); // expected-note{{candidate function}}
18 void test_mquals(int A::*p
, int A::* A::*pp
, int A::* A::* A::*ppp
) {
19 int const A::* const A::* pp2
= pp
;
22 mquals3(ppp
); // expected-error {{no matching}}
25 void aquals1(int const (*p
)[1]);
26 void aquals2(int * const (*pp
)[1]);
27 void aquals2a(int const * (*pp2
)[1]); // expected-note{{candidate function}}
29 void test_aquals(int (*p
)[1], int * (*pp
)[1], int * (*pp2
)[1]) {
30 int const (*p2
)[1] = p
;
33 aquals2a(pp2
); // expected-error {{no matching}}