summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2012-03-06 23:40:47 +0000
committerTed Kremenek <kremenek@apple.com>2012-03-06 23:40:47 +0000
commit5022f1dffede35aa231cde3f81c65e8d9d7969fc (patch)
tree6e78d22e1501cc0c57e092f14261315630c6ab57 /clang/test
parent80893ce5f517f416d96313b74d416adfd41aaf08 (diff)
downloadbcm5719-llvm-5022f1dffede35aa231cde3f81c65e8d9d7969fc.tar.gz
bcm5719-llvm-5022f1dffede35aa231cde3f81c65e8d9d7969fc.zip
Fix horrific CFG bug where '@autoreleasepool' would be put in a dangling block in the CFG.
llvm-svn: 152163
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/SemaObjC/warn-unreachable.m17
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/warn-unreachable.m b/clang/test/SemaObjC/warn-unreachable.m
new file mode 100644
index 00000000000..832cbd23d27
--- /dev/null
+++ b/clang/test/SemaObjC/warn-unreachable.m
@@ -0,0 +1,17 @@
+// RUN: %clang %s -fsyntax-only -Xclang -verify -fblocks -Wunreachable-code -Wno-unused-value -Wno-covered-switch-default
+
+// This previously triggered a warning from -Wunreachable-code because of
+// a busted CFG.
+typedef signed char BOOL;
+BOOL radar10989084() {
+ @autoreleasepool { // no-warning
+ return __objc_yes;
+ }
+}
+
+// Test the warning works.
+void test_unreachable() {
+ return;
+ return; // expected-warning {{will never be executed}}
+}
+
OpenPOWER on IntegriCloud