1 | // RUN: %clang_cc1 -fsyntax-only -verify %s |
2 | |
3 | class X { |
4 | public: |
5 | int operator++(); |
6 | operator int(); |
7 | }; |
8 | |
9 | void test() { |
10 | X x; |
11 | int i; |
12 | |
13 | i = x.operator++(); |
14 | i = x.operator int(); |
15 | x.operator--(); // expected-error{{no member named 'operator--'}} |
16 | x.operator float(); // expected-error{{no member named 'operator float'}} |
17 | x.operator; // expected-error{{expected a type}} |
18 | } |
19 | |
20 | void test2() { |
21 | X *x; |
22 | int i; |
23 | |
24 | i = x->operator++(); |
25 | i = x->operator int(); |
26 | x->operator--(); // expected-error{{no member named 'operator--'}} |
27 | x->operator float(); // expected-error{{no member named 'operator float'}} |
28 | x->operator; // expected-error{{expected a type}} |
29 | } |
30 | |
31 | namespace pr13157 { |
32 | class A { public: void operator()(int x, int y = 2, ...) {} }; |
33 | void f() { A()(1); } |
34 | } |