]> granicus.if.org Git - clang/commitdiff
Don't use \01 in symbol name if unnecessary.
authorDaniel Dunbar <daniel@zuster.org>
Wed, 15 Apr 2009 19:52:32 +0000 (19:52 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Wed, 15 Apr 2009 19:52:32 +0000 (19:52 +0000)
 - This was particularly bad since I fixed one instance of this name
   and not another, meaning we got an LLVM module with the same
   effective name in two different globals!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69205 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGObjCMac.cpp
test/CodeGenObjC/metadata-symbols-64.m
test/CodeGenObjC/synthesize_ivar-cont-class.m

index 90ef11e55afe1f35883dac2ae17f90e1a2e1804c..629ea809459eb08b7c592fd964c1f8a4400c22ce 100644 (file)
@@ -4505,7 +4505,7 @@ llvm::Constant * CGObjCNonFragileABIMac::EmitIvarOffsetVar(
                                               unsigned long int Offset) {
   
   assert(ID && "EmitIvarOffsetVar - null interface decl.");
-  std::string ExternalName("\01_OBJC_IVAR_$_" + ID->getNameAsString() + '.' 
+  std::string ExternalName("OBJC_IVAR_$_" + ID->getNameAsString() + '.' 
                            + Ivar->getNameAsString());
   llvm::Constant *Init = llvm::ConstantInt::get(ObjCTypes.LongTy, Offset);
   llvm::GlobalVariable *IvarOffsetGV = 
index a3d5bc9525ed08f511d2dce1f89200246a1c5055..0cd4dacf129ed66085990f7ac8c8c331a3c71a23 100644 (file)
@@ -3,11 +3,7 @@
 
 // RUN: grep '@"OBJC_CLASS_$_A" = global' %t &&
 // RUN: grep '@"OBJC_CLASS_$_B" = external global' %t &&
-
-// FIXME: This is currently broken in clang, we are emitting two
-// references to the same ivar (one using \01, and one not).
-// RUNX: grep '@"OBJC_IVAR_$_A._ivar" = global .* section "__DATA, __objc_const", align 8' %t &&
-
+// RUN: grep '@"OBJC_IVAR_$_A._ivar" = global .* section "__DATA, __objc_const", align 8' %t &&
 // 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 &&
index e25b737e452f1eb36d3fd90c1405df583899d2fb..b1a7d0e680302acce9093b2289d5fba3f4e93e5e 100644 (file)
@@ -1,5 +1,5 @@
 // RUN: clang-cc -triple x86_64-apple-darwin10 -emit-llvm -o %t %s &&
-// RUN: grep '_OBJC_IVAR_$_XCOrganizerDeviceNodeInfo.viewController' %t
+// RUN: grep '@"OBJC_IVAR_$_XCOrganizerDeviceNodeInfo.viewController"' %t
 
 @interface XCOrganizerNodeInfo
 @property (readonly, retain) id viewController;