diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/Parser/cxx-decl.cpp | 21 | ||||
-rw-r--r-- | test/SemaCXX/nested-name-spec.cpp | 8 |
2 files changed, 5 insertions, 24 deletions
diff --git a/test/Parser/cxx-decl.cpp b/test/Parser/cxx-decl.cpp index 8c5ab6a55d..3fa284282a 100644 --- a/test/Parser/cxx-decl.cpp +++ b/test/Parser/cxx-decl.cpp @@ -1,24 +1,3 @@ // RUN: clang-cc -verify -fsyntax-only %s int x(*g); // expected-error {{use of undeclared identifier 'g'}} - - -// PR4451 - We should recover well from the typo of '::' as ':' in a2. -namespace y { - struct a { }; -} - -y::a a1; -y:a a2; // expected-error {{unexpected ':' in nested name specifier}} -y::a a3 = a2; - -// Some valid colons: -void foo() { -y: // label - y::a s; - - int a = 4; - a = a ? a : a+1; -} - -struct b : y::a {};
\ No newline at end of file diff --git a/test/SemaCXX/nested-name-spec.cpp b/test/SemaCXX/nested-name-spec.cpp index 6a51261e26..83c72417d5 100644 --- a/test/SemaCXX/nested-name-spec.cpp +++ b/test/SemaCXX/nested-name-spec.cpp @@ -186,10 +186,12 @@ class foo { }; -// PR4452 / PR4451 -foo<somens:a> a2; // expected-error {{unexpected ':' in nested name specifier}} +// PR4452 +// FIXME: This error recovery sucks. +foo<somens:a> a2; // expected-error {{unexpected namespace name 'somens': expected expression}} \ +expected-error {{C++ requires a type specifier for all declarations}} -somens::a a3 = a2; // expected-error {{cannot initialize 'a3' with an lvalue of type 'foo<somens::a>'}} +somens::a a3 = a2; |