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
21 lines
471 B
Objective-C
21 lines
471 B
Objective-C
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s
|
|
|
|
// rdar : // 8093297
|
|
|
|
@interface Foo @end
|
|
|
|
@protocol Proto
|
|
@property (readonly) int proto_property;
|
|
@end
|
|
|
|
@interface Foo (Category) <Proto> @end
|
|
|
|
@implementation Foo (Category)
|
|
-(int)proto_property { return 0; }
|
|
@end
|
|
|
|
|
|
// CHECK: l_OBJC_$_PROP_LIST_Foo_$_Category" = private global
|
|
// CHECK: l_OBJC_$_CATEGORY_Foo_$_Category" = private global
|
|
// CHECK: l_OBJC_$_PROP_LIST_Foo_$_Category
|