diff options
| author | Ted Kremenek <kremenek@apple.com> | 2010-02-16 16:55:10 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2010-02-16 16:55:10 +0000 |
| commit | 3eac2454dccd767fb0a6ecadf824dce498b4d28e (patch) | |
| tree | 8e9259d894e34eb87425b4197815abe4339162b6 | |
| parent | bc91b44a23d5f026f3042d9008e0b9d576f6ad1f (diff) | |
| download | bcm5719-llvm-3eac2454dccd767fb0a6ecadf824dce498b4d28e.tar.gz bcm5719-llvm-3eac2454dccd767fb0a6ecadf824dce498b4d28e.zip | |
Add test case showing that a recursive block that captures a block pointer that
isn't marked '__block' is bad.
llvm-svn: 96357
| -rw-r--r-- | clang/test/Analysis/blocks.m | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/test/Analysis/blocks.m b/clang/test/Analysis/blocks.m index e8e96a22cf9..b05b198c548 100644 --- a/clang/test/Analysis/blocks.m +++ b/clang/test/Analysis/blocks.m @@ -83,3 +83,8 @@ void test2_b() { // 'x' is bound at block creation. ^{ y = x + 1; }(); // no-warning } + +void test2_c() { + typedef void (^myblock)(void); + myblock f = ^() { f(); }; // expected-warning{{Variable 'f' is captured by block with a garbage value}} +}
\ No newline at end of file |

