From: Ted Kremenek Date: Fri, 1 May 2009 04:13:51 +0000 (+0000) Subject: Add failing static analyzer case (this crashes). X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1bc440b9224247fd30541b747fd213e586e8da9e;p=clang Add failing static analyzer case (this crashes). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70532 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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. + +// - 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); +}