brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 207c231 Raw
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