diff options
Diffstat (limited to 'test/Analysis/misc-ps-basic-store.m')
-rw-r--r-- | test/Analysis/misc-ps-basic-store.m | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/test/Analysis/misc-ps-basic-store.m b/test/Analysis/misc-ps-basic-store.m deleted file mode 100644 index a29326d8b0e7..000000000000 --- a/test/Analysis/misc-ps-basic-store.m +++ /dev/null @@ -1,35 +0,0 @@ -// RUN: %clang_cc1 -analyze -analyzer-checker=core,core.experimental -analyzer-store=basic -verify -fblocks %s - -//--------------------------------------------------------------------------- -// Test case 'checkaccess_union' differs for region store and basic store. -// The basic store doesn't reason about compound literals, so the code -// below won't fire an "uninitialized value" warning. -//--------------------------------------------------------------------------- - -// PR 2948 (testcase; crash on VisitLValue for union types) -// http://llvm.org/bugs/show_bug.cgi?id=2948 - -void checkaccess_union() { - int ret = 0, status; - if (((((__extension__ (((union { // no-warning - __typeof (status) __in; int __i;} - ) - { - .__in = (status)} - ).__i))) & 0xff00) >> 8) == 1) - ret = 1; -} - -// BasicStore handles this case incorrectly because it doesn't reason about -// the value pointed to by 'x' and thus creates different symbolic values -// at the declarations of 'a' and 'b' respectively. See the companion test -// in 'misc-ps-region-store.m'. -void test_trivial_symbolic_comparison_pointer_parameter(int *x) { - int a = *x; - int b = *x; - if (a != b) { - int *p = 0; - *p = 0xDEADBEEF; // expected-warning{{null}} - } -} - |