summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-07-13 21:36:26 +0000
committerDouglas Gregor <dgregor@apple.com>2011-07-13 21:36:26 +0000
commit385cfc073ea79f9892b1ed036604152d2e152e56 (patch)
tree2af9085dbe2ab2353cbc4dfc2136f8c92aeb90fa
parentca7150b54d20dbd0de1255e2192d2bbacd60d283 (diff)
downloadbcm5719-llvm-385cfc073ea79f9892b1ed036604152d2e152e56.tar.gz
bcm5719-llvm-385cfc073ea79f9892b1ed036604152d2e152e56.zip
Fix an incorrect namespace typo-correction diagnostic, from Kaelyn
Uhrain! Fixes PR10318. llvm-svn: 135086
-rw-r--r--clang/lib/Sema/SemaDecl.cpp3
-rw-r--r--clang/test/SemaCXX/missing-namespace-qualifier-typo-corrections.cpp17
2 files changed, 14 insertions, 6 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index c5caae279cb..f650724535b 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/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/clang/test/SemaCXX/missing-namespace-qualifier-typo-corrections.cpp b/clang/test/SemaCXX/missing-namespace-qualifier-typo-corrections.cpp
index 38962575118..fd0c976bdd7 100644
--- a/clang/test/SemaCXX/missing-namespace-qualifier-typo-corrections.cpp
+++ b/clang/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 <typename T> class GraphWriter {}; // expected-note{{'llvm::GraphWriter' declared here}}
+}
+
+struct S {};
+void bar() {
+ GraphWriter<S> x; //expected-error{{no template named 'GraphWriter'; did you mean 'llvm::GraphWriter'?}}
+
}
OpenPOWER on IntegriCloud