diff options
Diffstat (limited to 'test/SemaObjC/uninit-variables.m')
-rw-r--r-- | test/SemaObjC/uninit-variables.m | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/SemaObjC/uninit-variables.m b/test/SemaObjC/uninit-variables.m new file mode 100644 index 0000000..63c2140 --- /dev/null +++ b/test/SemaObjC/uninit-variables.m @@ -0,0 +1,27 @@ +// RUN: %clang_cc1 -fsyntax-only -Wuninitialized-experimental -fsyntax-only -fblocks %s -verify + +// Duplicated from uninit-variables.c. +// Test just to ensure the analysis is working. +int test1() { + int x; // expected-note{{variable 'x' is declared here}} expected-note{{add initialization}} + return x; // expected-warning{{variable 'x' is possibly uninitialized when used here}} +} + +// Test ObjC fast enumeration. +void test2() { + id collection = 0; + for (id obj in collection) { + if (0 == obj) // no-warning + break; + } +} + +void test3() { + id collection = 0; + id obj; + for (obj in collection) { // no-warning + if (0 == obj) // no-warning + break; + } +} + |