diff options
| author | Ted Kremenek <kremenek@apple.com> | 2009-04-29 16:03:59 +0000 | 
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2009-04-29 16:03:59 +0000 | 
| commit | bcf597d2e5789bf1df0031a44a2fd73bae3755c1 (patch) | |
| tree | 9d218bf5f717f1cd7cd7629b2cf5ca219bbd52ab | |
| parent | 3941d22a98dbf7e23159a0655a4640fb3e76cc9e (diff) | |
| download | bcm5719-llvm-bcf597d2e5789bf1df0031a44a2fd73bae3755c1.tar.gz bcm5719-llvm-bcf597d2e5789bf1df0031a44a2fd73bae3755c1.zip | |
Add test case for transfer function logic for OSCompareAndSwap32Barrier.
llvm-svn: 70383
| -rw-r--r-- | clang/test/Analysis/NSString.m | 18 | 
1 files changed, 14 insertions, 4 deletions
| diff --git a/clang/test/Analysis/NSString.m b/clang/test/Analysis/NSString.m index 3f2b09189e9..63b8ef83018 100644 --- a/clang/test/Analysis/NSString.m +++ b/clang/test/Analysis/NSString.m @@ -1,9 +1,9 @@ -// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s && -// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s +// RUN: clang-cc -arch i386 -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=basic -verify %s && +// RUN: clang-cc -arch i386 -analyze -checker-cfref -analyzer-store=basic -analyzer-constraints=range -verify %s -// NOTWORK: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s && -// NOTWORK: clang-cc -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s +// NOTWORK: clang-cc -arch i386 -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=basic -verify %s && +// NOTWORK: clang-cc -arch i386 -analyze -checker-cfref -analyzer-store=region -analyzer-constraints=range -verify %s  //===----------------------------------------------------------------------===//  // The following code is reduced using delta-debugging from @@ -14,6 +14,7 @@  // both svelte and portable to non-Mac platforms.  //===----------------------------------------------------------------------===// +typedef int int32_t;  typedef const void * CFTypeRef;  typedef const struct __CFString * CFStringRef;  typedef const struct __CFAllocator * CFAllocatorRef; @@ -235,6 +236,15 @@ void testOSCompareAndSwap() {      [old release];  } +void testOSCompareAndSwap32Barrier() { +  NSString *old = 0; +  NSString *s = [[NSString alloc] init]; // no-warning +  if (!OSAtomicCompareAndSwap32Barrier((int32_t) 0, (int32_t) s, (int32_t*) &old)) +    [s release]; +  else     +    [old release]; +} +  void test_objc_atomicCompareAndSwap() {    NSString *old = 0;    NSString *s = [[NSString alloc] init]; // no-warning | 

