Files
llvm-project/clang/test/CodeGenObjC/protocol-in-extended-class.m
John McCall 9b0a7cea0f Make -fobjc-nonfragile-abi the -cc1 default, since it's the
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
2011-10-02 01:16:38 +00:00

30 lines
723 B
Objective-C

// REQUIRES: x86-registered-target,x86-64-registered-target
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -S %s -o %t-64.s
// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
// RUN: %clang_cc1 -triple i386-apple-darwin -fobjc-fragile-abi -S %s -o %t-32.s
// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
@protocol MyProtocol
@end
@protocol ExtendedProtocol
@end
@interface ItDoesntWork<MyProtocol> {
}
-(void) Meth;
@end
@interface ItDoesntWork() <MyProtocol, ExtendedProtocol>
@end
@implementation ItDoesntWork
-(void) Meth {
ItDoesntWork <MyProtocol, ExtendedProtocol> *p = 0;
}
@end
// CHECK-LP64: l_OBJC_PROTOCOL_$_ExtendedProtocol:
// CHECK-LP32: L_OBJC_PROTOCOL_ExtendedProtocol: