diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-10-09 18:55:59 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-10-09 18:55:59 +0000 |
commit | bb64afcc39cd0a865610306a8989332ab6e67c4a (patch) | |
tree | 529a3f6a50531bfd77ffa88082233bf60d49481c /clang/test | |
parent | c4475e8cd615995793f445286af616ba0cd6a4dd (diff) | |
download | bcm5719-llvm-bb64afcc39cd0a865610306a8989332ab6e67c4a.tar.gz bcm5719-llvm-bb64afcc39cd0a865610306a8989332ab6e67c4a.zip |
Diagnose attempts to declare a non-static data member with a
non-identifier name. Fixes PR10839.
llvm-svn: 141513
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/p3-0x.cpp | 5 | ||||
-rw-r--r-- | clang/test/SemaCXX/overloaded-operator-decl.cpp | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/p3-0x.cpp b/clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/p3-0x.cpp index 9a2e4ab30c4..9f88c03a624 100644 --- a/clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/p3-0x.cpp +++ b/clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/p3-0x.cpp @@ -7,8 +7,9 @@ template<typename T> using Y = struct { // expected-error {{can not be defined i class K { virtual ~K(); - // FIXME: the diagnostic here is really bad - operator struct S {} (); // expected-error 2{{}} expected-note {{}} + // FIXME: Diagnostic could use some work + operator struct S {} (); // expected-error{{ 'operator S' cannot be the name of a variable or data member}} \ + // expected-error{{expected ';' at end of declaration list}} }; void f() { diff --git a/clang/test/SemaCXX/overloaded-operator-decl.cpp b/clang/test/SemaCXX/overloaded-operator-decl.cpp index 5f8655cee70..4519a2d1f9a 100644 --- a/clang/test/SemaCXX/overloaded-operator-decl.cpp +++ b/clang/test/SemaCXX/overloaded-operator-decl.cpp @@ -43,3 +43,8 @@ namespace PR6238 { void operator()(); } plus; } + +struct PR10839 { + operator int; // expected-error{{'operator int' cannot be the name of a variable or data member}} + int operator+; // expected-error{{'operator+' cannot be the name of a variable or data member}} +}; |