aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/Parser/cxx-decl.cpp21
-rw-r--r--test/SemaCXX/nested-name-spec.cpp8
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;