blob: c98ef7399709cd3b82baf2f135d7bbfdf56a6352 [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -fsyntax-only -verify %s
Douglas Gregora6f0f9d2009-08-31 19:52:13 +00002
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'}}
Nick Lewycky9fa8e562010-11-03 17:52:57 +000017 x.operator; // expected-error{{expected a type}}
Douglas Gregora6f0f9d2009-08-31 19:52:13 +000018}
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'}}
Nick Lewycky9fa8e562010-11-03 17:52:57 +000028 x->operator; // expected-error{{expected a type}}
Douglas Gregora6f0f9d2009-08-31 19:52:13 +000029}
Aaron Ballman4914c282012-07-20 20:40:35 +000030
31namespace pr13157 {
32 class A { public: void operator()(int x, int y = 2, ...) {} };
33 void f() { A()(1); }
34}