summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/goto.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2012-02-09 20:13:14 +0000
committerEli Friedman <eli.friedman@gmail.com>2012-02-09 20:13:14 +0000
commit25b0742603808470660680f1d87c066ea1e5b59c (patch)
treefbc4ee8e0df5155ad78da9a64cbd8fb8c4c1461a /clang/test/SemaCXX/goto.cpp
parent1fba8711b0fc78ff6ee56cd640da2f2e770e4eb1 (diff)
downloadbcm5719-llvm-25b0742603808470660680f1d87c066ea1e5b59c.tar.gz
bcm5719-llvm-25b0742603808470660680f1d87c066ea1e5b59c.zip
Make sure a variable with a C++ direct initializer triggers jump scope checking. Fixes PR10620 / <rdar://problem/9958362> .
llvm-svn: 150204
Diffstat (limited to 'clang/test/SemaCXX/goto.cpp')
-rw-r--r--clang/test/SemaCXX/goto.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/goto.cpp b/clang/test/SemaCXX/goto.cpp
index d8d5ec51f6e..e55e8807239 100644
--- a/clang/test/SemaCXX/goto.cpp
+++ b/clang/test/SemaCXX/goto.cpp
@@ -103,3 +103,15 @@ void f() {
exit:
return;
}
+
+namespace PR10620 {
+ struct S {
+ ~S() {}
+ };
+ void g(const S& s) {
+ goto done; // expected-error {{goto into protected scope}}
+ const S s2(s); // expected-note {{jump bypasses variable initialization}}
+ done:
+ ;
+ }
+}
OpenPOWER on IntegriCloud