summaryrefslogtreecommitdiffstats
path: root/clang/test/Parser/cxx-stmt.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-12-10 00:38:54 +0000
committerChris Lattner <sabre@nondot.org>2009-12-10 00:38:54 +0000
commit125c0ee5c7769c3db19838ac7184bb705d746aef (patch)
treebf1dc7cc7a57621783c4fca0fa2c42c6d92b50ed /clang/test/Parser/cxx-stmt.cpp
parent793c75a28f4a0ae9d62215b8ff853bd4749033c0 (diff)
downloadbcm5719-llvm-125c0ee5c7769c3db19838ac7184bb705d746aef.tar.gz
bcm5719-llvm-125c0ee5c7769c3db19838ac7184bb705d746aef.zip
fix PR5740: a colon is sacred when parsing case statement expressions!
llvm-svn: 91016
Diffstat (limited to 'clang/test/Parser/cxx-stmt.cpp')
-rw-r--r--clang/test/Parser/cxx-stmt.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/clang/test/Parser/cxx-stmt.cpp b/clang/test/Parser/cxx-stmt.cpp
index 535f40d7805..cc35ba153f6 100644
--- a/clang/test/Parser/cxx-stmt.cpp
+++ b/clang/test/Parser/cxx-stmt.cpp
@@ -1,6 +1,6 @@
// RUN: clang-cc -fsyntax-only -verify %s
-void f()
+void f1()
{
try {
;
@@ -10,7 +10,7 @@ void f()
}
}
-void g()
+void f2()
{
try; // expected-error {{expected '{'}}
@@ -24,7 +24,7 @@ void g()
catch {} // expected-error {{expected '('}}
}
-void h() try {
+void f3() try {
} catch(...) {
}
@@ -39,3 +39,16 @@ struct A {
A::A(char) : i(0) try {} // expected-error {{expected '{' or ','}}
A::A(int j) try : i(j) {} catch(...) {}
+
+
+
+// PR5740
+struct Type { };
+
+enum { Type } Kind;
+void f4() {
+ int i = 0;
+ switch (Kind) {
+ case Type: i = 7; break; // no error.
+ }
+} \ No newline at end of file
OpenPOWER on IntegriCloud