52 lines · plain
1// RUN: %clang_cc1 -emit-llvm -fobjc-runtime=gcc -o - %s | FileCheck %s2 3@protocol NSCopying4@end5 6@interface NSObject {7 struct objc_object *isa;8}9+ (id) new;10- (id) init;11@end12 13@interface NSString : NSObject <NSCopying>14+ (NSString *)foo;15@end16 17@interface TestClass : NSObject {18@public19 NSString *_stringIvar;20 int _intIvar;21}22@end23@implementation TestClass24 25@end26 27int main(void) {28 TestClass *c = [TestClass new];29 return 0;30}31 32// CHECK: = private unnamed_addr constant [12 x i8] c"_stringIvar\00"33// CHECK: = private unnamed_addr constant [12 x i8] c"@\22NSString\22\00"34// CHECK: = private unnamed_addr constant [9 x i8] c"_intIvar\00"35// CHECK: = private unnamed_addr constant [2 x i8] c"i\00"36 37@interface Class1 {38 int : 3;39 short : 2;40 long long ll;41 char : 1;42}43@end44 45@implementation Class146@end47 48// CHECK: @{{.*}} = private unnamed_addr constant [5 x i8] c"b0i3\00"49// CHECK: @{{.*}} = private unnamed_addr constant [5 x i8] c"b3s2\00"50// CHECK: @{{.*}} = private unnamed_addr constant [2 x i8] c"q\00"51// CHECK: @{{.*}} = private unnamed_addr constant [{{7|6}} x i8] c"b{{128|96}}c1\00"52