Re-apply fixed version of 108749, correctly conditionalizing the new sections on
ObjC ABI version 2 this time. llvm-svn: 108847
This commit is contained in:
parent
badf087e45
commit
71d963e954
|
@ -3254,7 +3254,9 @@ llvm::Constant *CGObjCCommonMac::GetClassName(IdentifierInfo *Ident) {
|
|||
Entry = CreateMetadataVar("\01L_OBJC_CLASS_NAME_",
|
||||
llvm::ConstantArray::get(VMContext,
|
||||
Ident->getNameStart()),
|
||||
"__TEXT,__cstring,cstring_literals",
|
||||
((ObjCABI == 2) ?
|
||||
"__TEXT,__objc_classname,cstring_literals" :
|
||||
"__TEXT,__cstring,cstring_literals"),
|
||||
1, true);
|
||||
|
||||
return getConstantGEP(VMContext, Entry, 0, 0);
|
||||
|
@ -3626,7 +3628,9 @@ llvm::Constant *CGObjCCommonMac::BuildIvarLayout(
|
|||
llvm::GlobalVariable * Entry =
|
||||
CreateMetadataVar("\01L_OBJC_CLASS_NAME_",
|
||||
llvm::ConstantArray::get(VMContext, BitMap.c_str()),
|
||||
"__TEXT,__cstring,cstring_literals",
|
||||
((ObjCABI == 2) ?
|
||||
"__TEXT,__objc_classname,cstring_literals" :
|
||||
"__TEXT,__cstring,cstring_literals"),
|
||||
1, true);
|
||||
return getConstantGEP(VMContext, Entry, 0, 0);
|
||||
}
|
||||
|
@ -3638,7 +3642,9 @@ llvm::Constant *CGObjCCommonMac::GetMethodVarName(Selector Sel) {
|
|||
if (!Entry)
|
||||
Entry = CreateMetadataVar("\01L_OBJC_METH_VAR_NAME_",
|
||||
llvm::ConstantArray::get(VMContext, Sel.getAsString()),
|
||||
"__TEXT,__cstring,cstring_literals",
|
||||
((ObjCABI == 2) ?
|
||||
"__TEXT,__objc_methname,cstring_literals" :
|
||||
"__TEXT,__cstring,cstring_literals"),
|
||||
1, true);
|
||||
|
||||
return getConstantGEP(VMContext, Entry, 0, 0);
|
||||
|
@ -3663,7 +3669,9 @@ llvm::Constant *CGObjCCommonMac::GetMethodVarType(const FieldDecl *Field) {
|
|||
if (!Entry)
|
||||
Entry = CreateMetadataVar("\01L_OBJC_METH_VAR_TYPE_",
|
||||
llvm::ConstantArray::get(VMContext, TypeStr),
|
||||
"__TEXT,__cstring,cstring_literals",
|
||||
((ObjCABI == 2) ?
|
||||
"__TEXT,__objc_methtype,cstring_literals" :
|
||||
"__TEXT,__cstring,cstring_literals"),
|
||||
1, true);
|
||||
|
||||
return getConstantGEP(VMContext, Entry, 0, 0);
|
||||
|
@ -3679,7 +3687,9 @@ llvm::Constant *CGObjCCommonMac::GetMethodVarType(const ObjCMethodDecl *D) {
|
|||
if (!Entry)
|
||||
Entry = CreateMetadataVar("\01L_OBJC_METH_VAR_TYPE_",
|
||||
llvm::ConstantArray::get(VMContext, TypeStr),
|
||||
"__TEXT,__cstring,cstring_literals",
|
||||
((ObjCABI == 2) ?
|
||||
"__TEXT,__objc_methtype,cstring_literals" :
|
||||
"__TEXT,__cstring,cstring_literals"),
|
||||
1, true);
|
||||
|
||||
return getConstantGEP(VMContext, Entry, 0, 0);
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
// RUN: grep '@"OBJC_METACLASS_$_A" = global .* section "__DATA, __objc_data", align 8' %t
|
||||
// RUN: grep '@"\\01L_OBJC_CLASSLIST_REFERENCES_$_[0-9]*" = internal global .* section "__DATA, __objc_classrefs, regular, no_dead_strip", align 8' %t
|
||||
// RUN: grep '@"\\01L_OBJC_CLASSLIST_SUP_REFS_$_[0-9]*" = internal global .* section "__DATA, __objc_superrefs, regular, no_dead_strip", align 8' %t | count 2
|
||||
// RUN: grep '@"\\01L_OBJC_CLASS_NAME_[0-9]*" = internal global .* section "__TEXT,__cstring,cstring_literals", align 1' %t
|
||||
// RUN: grep '@"\\01L_OBJC_CLASS_NAME_[0-9]*" = internal global .* section "__TEXT,__objc_classname,cstring_literals", align 1' %t
|
||||
// RUN: grep '@"\\01L_OBJC_LABEL_CATEGORY_$" = internal global .* section "__DATA, __objc_catlist, regular, no_dead_strip", align 8' %t
|
||||
// RUN: grep '@"\\01L_OBJC_LABEL_CLASS_$" = internal global .* section "__DATA, __objc_classlist, regular, no_dead_strip", align 8' %t
|
||||
// RUN: grep '@"\\01L_OBJC_METH_VAR_NAME_[0-9]*" = internal global .* section "__TEXT,__cstring,cstring_literals", align 1' %t
|
||||
// RUN: grep '@"\\01L_OBJC_METH_VAR_TYPE_[0-9]*" = internal global .* section "__TEXT,__cstring,cstring_literals", align 1' %t
|
||||
// RUN: grep '@"\\01L_OBJC_METH_VAR_NAME_[0-9]*" = internal global .* section "__TEXT,__objc_methname,cstring_literals", align 1' %t
|
||||
// RUN: grep '@"\\01L_OBJC_METH_VAR_TYPE_[0-9]*" = internal global .* section "__TEXT,__objc_methtype,cstring_literals", align 1' %t
|
||||
// RUN: grep '@"\\01L_OBJC_PROP_NAME_ATTR_[0-9]*" = internal global .* section "__TEXT,__cstring,cstring_literals", align 1' %t
|
||||
// RUN: grep '@"\\01L_OBJC_SELECTOR_REFERENCES_*" = internal global .* section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip"' %t
|
||||
// RUN: grep '@"\\01l_OBJC_$_CATEGORY_A_$_Cat" = internal global .* section "__DATA, __objc_const", align 8' %t
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
// CHECK-X86_64: @"OBJC_CLASS_$_A" = global {{.*}}, section "__DATA, __objc_data", align 8
|
||||
// CHECK-X86_64: @"OBJC_METACLASS_$_A" = global {{.*}}, section "__DATA, __objc_data", align 8
|
||||
// CHECK-X86_64: @"\01L_OBJC_CLASS_NAME_" = {{.*}}, section "__TEXT,__cstring,cstring_literals", align 1
|
||||
// CHECK-X86_64: @"\01L_OBJC_CLASS_NAME_" = {{.*}}, section "__TEXT,__objc_classname,cstring_literals", align 1
|
||||
// CHECK-X86_64: @"OBJC_EHTYPE_$_EH1" = weak global {{.*}}, section "__DATA,__datacoal_nt,coalesced", align 8
|
||||
// CHECK-X86_64: @"OBJC_EHTYPE_$_EH2" = external global
|
||||
// CHECK-X86_64: @"OBJC_EHTYPE_$_EH3" = global {{.*}}, section "__DATA,__objc_const", align 8
|
||||
|
@ -28,7 +28,7 @@
|
|||
|
||||
// CHECK-ARMV6: @"OBJC_CLASS_$_A" = global {{.*}}, section "__DATA, __objc_data", align 4
|
||||
// CHECK-ARMV6: @"OBJC_METACLASS_$_A" = global {{.*}}, section "__DATA, __objc_data", align 4
|
||||
// CHECK-ARMV6: @"\01L_OBJC_CLASS_NAME_" = {{.*}}, section "__TEXT,__cstring,cstring_literals", align 1
|
||||
// CHECK-ARMV6: @"\01L_OBJC_CLASS_NAME_" = {{.*}}, section "__TEXT,__objc_classname,cstring_literals", align 1
|
||||
// CHECK-ARMV6: @"OBJC_EHTYPE_$_EH1" = weak global {{.*}}, section "__DATA,__datacoal_nt,coalesced", align 4
|
||||
// CHECK-ARMV6: @"OBJC_EHTYPE_$_EH2" = external global
|
||||
// CHECK-ARMV6: @"OBJC_EHTYPE_$_EH3" = global {{.*}}, section "__DATA,__objc_const", align 4
|
||||
|
|
Loading…
Reference in New Issue