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