1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2
3 class X {
4 public:
5 int operator++();
6 operator int();
7 };
8
test()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
test2()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 {
operator ()(int x,int y=2,...)32 class A { public: void operator()(int x, int y = 2, ...) {} };
f()33 void f() { A()(1); }
34 }