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 }