From: Douglas Gregor Date: Wed, 13 Jul 2011 21:36:26 +0000 (+0000) Subject: Fix an incorrect namespace typo-correction diagnostic, from Kaelyn X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1255aaf10285ca60f236b4fe7c326b629b5cf788;p=clang Fix an incorrect namespace typo-correction diagnostic, from Kaelyn Uhrain! Fixes PR10318. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135086 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp index c5caae279c..f650724535 100644 --- a/lib/Sema/SemaDecl.cpp +++ b/lib/Sema/SemaDecl.cpp @@ -536,9 +536,6 @@ Corrected: UnqualifiedDiag = diag::err_unknown_typename_suggest; QualifiedDiag = diag::err_unknown_nested_typename_suggest; } - - if (Corrected.getCorrectionSpecifier()) - SS.MakeTrivial(Context, Corrected.getCorrectionSpecifier(), SourceRange(NameLoc)); if (SS.isEmpty()) Diag(NameLoc, UnqualifiedDiag) diff --git a/test/SemaCXX/missing-namespace-qualifier-typo-corrections.cpp b/test/SemaCXX/missing-namespace-qualifier-typo-corrections.cpp index 3896257511..fd0c976bdd 100644 --- a/test/SemaCXX/missing-namespace-qualifier-typo-corrections.cpp +++ b/test/SemaCXX/missing-namespace-qualifier-typo-corrections.cpp @@ -43,7 +43,7 @@ namespace N { } void f() { - myvector v; // expected-error{{no type named 'myvector' in namespace 'N::inner'; did you mean 'inner::myvector'?}} + myvector v; // expected-error{{unknown type name 'myvector'; did you mean 'inner::myvector'?}} } } @@ -56,6 +56,17 @@ namespace realstd { } void f() { - mylinkedlist v; // expected-error{{no type named 'mylinkedlist' in namespace 'realstd'; did you mean 'realstd::mylinkedlist'?}} - nylinkedlist w; // expected-error{{no type named 'nylinkedlist' in namespace 'realstd'; did you mean 'realstd::mylinkedlist'?}} + mylinkedlist v; // expected-error{{unknown type name 'mylinkedlist'; did you mean 'realstd::mylinkedlist'?}} + nylinkedlist w; // expected-error{{unknown type name 'nylinkedlist'; did you mean 'realstd::mylinkedlist'?}} +} + +// Test case from http://llvm.org/bugs/show_bug.cgi?id=10318 +namespace llvm { + template class GraphWriter {}; // expected-note{{'llvm::GraphWriter' declared here}} +} + +struct S {}; +void bar() { + GraphWriter x; //expected-error{{no template named 'GraphWriter'; did you mean 'llvm::GraphWriter'?}} + }