diff options
Diffstat (limited to 'clang/test/SemaCXX/conversion-function.cpp')
-rw-r--r-- | clang/test/SemaCXX/conversion-function.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/conversion-function.cpp b/clang/test/SemaCXX/conversion-function.cpp index 7eaed54934b..0a35ea4ff59 100644 --- a/clang/test/SemaCXX/conversion-function.cpp +++ b/clang/test/SemaCXX/conversion-function.cpp @@ -405,3 +405,14 @@ namespace PR12712 { A f(const C c) { return c; } } + +namespace PR18234 { + struct A { + operator enum E { e } (); // expected-error {{'PR18234::A::E' can not be defined in a type specifier}} + operator struct S { int n; } (); // expected-error {{'PR18234::A::S' can not be defined in a type specifier}} + } a; + A::S s = a; + A::E e = a; // expected-note {{here}} + bool k1 = e == A::e; // expected-error {{no member named 'e'}} + bool k2 = e.n == 0; +} |