diff options
Diffstat (limited to 'clang/test/SemaCXX/member-operator-expr.cpp')
-rw-r--r-- | clang/test/SemaCXX/member-operator-expr.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/member-operator-expr.cpp b/clang/test/SemaCXX/member-operator-expr.cpp new file mode 100644 index 0000000..ae5f8bb --- /dev/null +++ b/clang/test/SemaCXX/member-operator-expr.cpp @@ -0,0 +1,29 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s + +class X { +public: + int operator++(); + operator int(); +}; + +void test() { + X x; + int i; + + i = x.operator++(); + i = x.operator int(); + x.operator--(); // expected-error{{no member named 'operator--'}} + x.operator float(); // expected-error{{no member named 'operator float'}} + x.operator; // expected-error{{expected a type}} +} + +void test2() { + X *x; + int i; + + i = x->operator++(); + i = x->operator int(); + x->operator--(); // expected-error{{no member named 'operator--'}} + x->operator float(); // expected-error{{no member named 'operator float'}} + x->operator; // expected-error{{expected a type}} +} |