diff options
-rw-r--r-- | test/Analysis/xfail_rdar_6440393.m | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/Analysis/xfail_rdar_6440393.m b/test/Analysis/xfail_rdar_6440393.m new file mode 100644 index 0000000000..9a30c01eee --- /dev/null +++ b/test/Analysis/xfail_rdar_6440393.m @@ -0,0 +1,26 @@ +// RUN: clang-cc -analyze -checker-cfref -analyzer-store=basic && +// RUN: clang-cc -analyze -checker-cfref -analyzer-store=region +// XFAIL + +// *** These tests will be migrated to other test files once these failures +// are resolved. + +// <rdar://problem/6440393> - A bunch of misc. failures involving evaluating +// these expressions and building CFGs. These tests are here to prevent +// regressions. +@class NSString, NSDictionary; +typedef long NSInteger; +typedef unsigned long NSUInteger; +typedef unsigned char Boolean; +typedef const struct __CFDictionary * CFDictionaryRef; + +extern Boolean CFDictionaryGetValueIfPresent(CFDictionaryRef theDict, const void *key, const void **value); +static void shazam(NSUInteger i, unsigned char **out); + +void rdar_6440393_1(NSDictionary *dict) { + NSInteger x = 0; + unsigned char buf[10], *bufptr = buf; + if (!CFDictionaryGetValueIfPresent(0, dict, (void *)&x)) + return; + shazam(x, &bufptr); +} |