teak-llvm/clang/test/CodeGenObjC/property-list-in-class.m
Rafael Espindola 5179a4ea28 Use private linkage for globals we already name with \01L and \01l.
In llvm the only semantic difference between internal and private is that llvm
tries to hide private globals my mangling them with a private prefix. Since
the globals changed by this patch already had the magic don't mangle marker,
there should be no change in the generated assembly.

A followup patch should then be able to drop the \01L and \01l prefixes and let
llvm mangle as appropriate.

llvm-svn: 202419
2014-02-27 19:01:11 +00:00

33 lines
520 B
Objective-C

// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm %s -o - | FileCheck %s
// CHECK: l_OBJC_$_PROP_LIST_C2" = private global { i32, i32, [3 x %struct._prop_t] } { i32 16, i32 3
@protocol P
@property int i;
@end
@protocol P1
@property int i1;
@end
@protocol P2 < P1>
@property int i2;
@end
@interface C1 { id isa; } @end
@interface C2 : C1 <P, P2> {
int i;
}
@property int i2;
@end
@implementation C1
+(void)initialize { }
@end
@implementation C2
@synthesize i;
@synthesize i1;
@synthesize i2;
@end