diff options
author | Chris Lattner <sabre@nondot.org> | 2009-04-14 22:17:06 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-04-14 22:17:06 +0000 |
commit | f4382f50b7ab9f445c3f5b3ddaa59e6da25ea3bb (patch) | |
tree | c40a54645a3b931b525d2f33f0a8ff0903b4f014 /test/SemaTemplate/instantiate-typedef.cpp | |
parent | 17fc223395d51be582fc666bb6ea21bd1dff26dc (diff) | |
download | clang-f4382f50b7ab9f445c3f5b3ddaa59e6da25ea3bb.tar.gz |
Make the implicit-int handling error recovery stuff handle C++
nested name specifiers. Now we emit stuff like:
t.cpp:8:13: error: unknown type name 'X'
static foo::X P;
~~~~ ^
instead of:
t.cpp:8:16: error: invalid token after top level declarator
static foo::X P;
^
This is inspired by a really awful error message I got from
g++ when I misspelt diag::kind as diag::Kind.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69086 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaTemplate/instantiate-typedef.cpp')
-rw-r--r-- | test/SemaTemplate/instantiate-typedef.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/test/SemaTemplate/instantiate-typedef.cpp b/test/SemaTemplate/instantiate-typedef.cpp index abdc37a062..c1355fca8d 100644 --- a/test/SemaTemplate/instantiate-typedef.cpp +++ b/test/SemaTemplate/instantiate-typedef.cpp @@ -11,5 +11,5 @@ add_pointer<float>::type test2(int * ptr) { return ptr; // expected-error{{incompatible type returning 'int *', expected 'add_pointer<float>::type' (aka 'float *')}} } -add_pointer<int&>::type // expected-note{{in instantiation of template class 'struct add_pointer<int &>' requested here}} -test3(); // FIXME: expected-error{{invalid token after top level declarator}} +add_pointer<int&>::type // expected-note{{in instantiation of template class 'struct add_pointer<int &>' requested here}} expected-error {{unknown type name 'type'}} +test3(); |