increasingly prevailing case to the point that new features like ARC don't even support the fragile ABI anymore. This required a little bit of reshuffling with exceptions because a check was assuming that ObjCNonFragileABI was only being set in ObjC mode, and that's actually a bit obnoxious to do. Most, though, it involved a perl script to translate a ton of test cases. Mostly no functionality change for driver users, although there are corner cases with disabling language-specific exceptions that we should handle more correctly now. llvm-svn: 140957
28 lines
698 B
Objective-C
28 lines
698 B
Objective-C
// RUN: %clang_cc1 %s -fsyntax-only -verify -triple i386-apple-darwin9 -fobjc-fragile-abi
|
|
typedef struct objc_object {} *id;
|
|
typedef signed char BOOL;
|
|
typedef unsigned int NSUInteger;
|
|
typedef struct _NSZone NSZone;
|
|
|
|
@protocol NSObject
|
|
- (BOOL) isEqual:(id) object;
|
|
@end
|
|
|
|
@protocol NSCopying
|
|
- (id) copyWithZone:(NSZone *) zone;
|
|
@end
|
|
|
|
@interface NSObject < NSObject > {}
|
|
@end
|
|
|
|
extern id NSAllocateObject (Class aClass, NSUInteger extraBytes, NSZone * zone);
|
|
|
|
@interface MyClassBase : NSObject < NSCopying > {}
|
|
@end
|
|
|
|
@interface MyClassDirectNode : MyClassBase < NSCopying >
|
|
{
|
|
@public NSUInteger attributeRuns[((1024 - 16 - sizeof (MyClassBase)) / (sizeof (NSUInteger) + sizeof (void *)))];
|
|
}
|
|
@end
|