summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX
diff options
context:
space:
mode:
authorKaelyn Takata <rikka@google.com>2015-04-10 19:16:46 +0000
committerKaelyn Takata <rikka@google.com>2015-04-10 19:16:46 +0000
commit5cc85355960d8f15ce93076a928a484615e35efc (patch)
tree6e81622af04bc8ca5bd3c0902b9f1d960e2bd2d8 /clang/test/SemaCXX
parent89e28f67cc85da4cbad79ce11a6125460cd09296 (diff)
downloadbcm5719-llvm-5cc85355960d8f15ce93076a928a484615e35efc.tar.gz
bcm5719-llvm-5cc85355960d8f15ce93076a928a484615e35efc.zip
Don't eagerly typo-correct to a keyword if the next token is a right paren.
Take advantage of the delayed typo no longer being eagerly corrected to a keyword to filter out keyword corrections (and other things like unresolved & overloaded expressions, which have placeholder types) when correcting typos inside of a decltype(). llvm-svn: 234623
Diffstat (limited to 'clang/test/SemaCXX')
-rw-r--r--clang/test/SemaCXX/typo-correction-cxx11.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/typo-correction-cxx11.cpp b/clang/test/SemaCXX/typo-correction-cxx11.cpp
new file mode 100644
index 00000000000..573c6aa1171
--- /dev/null
+++ b/clang/test/SemaCXX/typo-correction-cxx11.cpp
@@ -0,0 +1,17 @@
+// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s
+
+namespace PR23186 {
+decltype(ned); // expected-error-re {{use of undeclared identifier 'ned'{{$}}}}
+// The code below was triggering an UNREACHABLE in ASTContext::getTypeInfoImpl
+// once the above code failed to recover properly after making the bogus
+// correction of 'ned' to 'new'.
+template <typename>
+struct S {
+ enum { V };
+ void f() {
+ switch (0)
+ case V:
+ ;
+ }
+};
+}
OpenPOWER on IntegriCloud