summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/nested-name-spec.cpp
diff options
context:
space:
mode:
authorJeffrey Yasskin <jyasskin@google.com>2010-04-08 16:38:48 +0000
committerJeffrey Yasskin <jyasskin@google.com>2010-04-08 16:38:48 +0000
commitc76498d4095874895ae91dd404264f10549d94d8 (patch)
treeb27b23c632ccf8497a20d2935d7ea14dafa2448d /clang/test/SemaCXX/nested-name-spec.cpp
parentaf2a317e05a94b7277114dfef90446a5b1f91b56 (diff)
downloadbcm5719-llvm-c76498d4095874895ae91dd404264f10549d94d8.tar.gz
bcm5719-llvm-c76498d4095874895ae91dd404264f10549d94d8.zip
Make CXXScopeSpec invalid when incomplete, and propagate that into any
Declarator that depends on it. This fixes several redundant errors and bad recoveries. llvm-svn: 100779
Diffstat (limited to 'clang/test/SemaCXX/nested-name-spec.cpp')
-rw-r--r--clang/test/SemaCXX/nested-name-spec.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/clang/test/SemaCXX/nested-name-spec.cpp b/clang/test/SemaCXX/nested-name-spec.cpp
index c6b11cfefe5..cff04ab17a0 100644
--- a/clang/test/SemaCXX/nested-name-spec.cpp
+++ b/clang/test/SemaCXX/nested-name-spec.cpp
@@ -165,8 +165,7 @@ void ::global_func2(int) { } // expected-error{{definition or redeclaration of '
void N::f() { } // okay
struct Y; // expected-note{{forward declaration of 'Y'}}
-Y::foo y; // expected-error{{incomplete type 'Y' named in nested name specifier}} \
- // expected-error{{no type named 'foo' in}}
+Y::foo y; // expected-error{{incomplete type 'Y' named in nested name specifier}}
X::X() : a(5) { } // expected-error{{use of undeclared identifier 'X'}} \
// expected-error{{C++ requires a type specifier for all declarations}} \
@@ -224,9 +223,8 @@ namespace test2 {
// PR6259, invalid case
namespace test3 {
- // FIXME: this should really only trigger once
- class A; // expected-note 2 {{forward declaration}}
+ class A; // expected-note {{forward declaration}}
void foo(const char *path) {
- A::execute(path); // expected-error 2 {{incomplete type 'test3::A' named in nested name specifier}}
+ A::execute(path); // expected-error {{incomplete type 'test3::A' named in nested name specifier}}
}
}
OpenPOWER on IntegriCloud