[RISCV] Add shrinkwrap test cases showing gaps in current impl
[llvm-project.git] / clang / test / Analysis / pr4209.m
blobeb43e2b017631ddbb8813ad0405a6d38fc17a54e
1 // RUN: %clang_analyze_cc1 -triple i386-apple-darwin9 -analyzer-checker=core,alpha.core -Wno-incomplete-implementation -verify %s
3 // This test case was crashing due to how CFRefCount.cpp resolved the
4 // ObjCInterfaceDecl* and ClassName in EvalObjCMessageExpr.
6 typedef signed char BOOL;
7 typedef unsigned int NSUInteger;
8 typedef struct _NSZone NSZone;
9 @class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator;
10 @protocol NSObject  - (BOOL)isEqual:(id)object;
11 @end  @protocol NSCopying  - (id)copyWithZone:(NSZone *)zone;
12 @end  @protocol NSMutableCopying  - (id)mutableCopyWithZone:(NSZone *)zone;
13 @end  @protocol NSCoding  - (void)encodeWithCoder:(NSCoder *)aCoder;
14 @end    @interface NSObject <NSObject> {
16 @end  typedef float CGFloat;
17 typedef struct _NSPoint {
19 NSFastEnumerationState;
20 @protocol NSFastEnumeration  - (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len;
21 @end        @class NSString;
22 @interface NSArray : NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration>  - (NSUInteger)count;
23 @end    @interface NSMutableArray : NSArray  - (void)addObject:(id)anObject;
24 @end         typedef unsigned short unichar;
25 @interface NSString : NSObject <NSCopying, NSMutableCopying, NSCoding>    - (NSUInteger)length;
26 - (int)intValue;
27 @end @interface NSSimpleCString : NSString {
29 @end  @interface NSConstantString : NSSimpleCString @end   extern void *_NSConstantStringClassReference;
30 @interface NSDictionary : NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration>  - (NSUInteger)count;
31 @end    @interface NSMutableDictionary : NSDictionary  - (void)removeObjectForKey:(id)aKey;
32 @end       typedef struct {
34 CMProfileLocation;
35 @interface NSResponder : NSObject <NSCoding> {
37 @end  @class NSAttributedString, NSEvent, NSFont, NSFormatter, NSImage, NSMenu, NSText, NSView;
38 @interface NSCell : NSObject <NSCopying, NSCoding> {
40 @end  extern NSString *NSControlTintDidChangeNotification;
41 @interface NSActionCell : NSCell {
43 @end  @class NSArray, NSDocument, NSWindow;
44 @interface NSWindowController : NSResponder <NSCoding> {
46 @end         @class EBayCategoryType, GSEbayCategory, GBSearchRequest;
47 @interface GBCategoryChooserPanelController : NSWindowController {
48   GSEbayCategory *rootCategory;
50 - (NSMutableDictionary*)categoryDictionaryForCategoryID:(int)inID inRootTreeCategories:(NSMutableArray*)inRootTreeCategories;
51 -(NSString*) categoryID; // expected-note {{using}}
52 @end @interface GSEbayCategory : NSObject <NSCoding> {
54 - (int) categoryID; // expected-note {{also found}}
55 - (GSEbayCategory *) parent;
56 - (GSEbayCategory*) subcategoryWithID:(int) inID;
57 @end   @implementation GBCategoryChooserPanelController  + (int) chooseCategoryIDFromCategories:(NSArray*) inCategories        searchRequest:(GBSearchRequest*)inRequest         parentWindow:(NSWindow*) inParent {
58   return 0;
60 - (void) addCategory:(EBayCategoryType*)inCategory toRootTreeCategory:(NSMutableArray*)inRootTreeCategories {
61   GSEbayCategory *category = [rootCategory subcategoryWithID:[[inCategory categoryID] intValue]]; // expected-warning {{multiple methods named 'categoryID' found}}
63   if (rootCategory != category)  {
64     GSEbayCategory *parent = category;
65     while ((((void*)0) != (parent = [parent parent])) && ([parent categoryID] != 0))   {
66       NSMutableDictionary *treeCategoryDict = [self categoryDictionaryForCategoryID:[parent categoryID] inRootTreeCategories:inRootTreeCategories];
67       if (((void*)0) == treeCategoryDict)    {
68       }
69     }
70   }
72 @end