[llvm-commits] CVS: llvm/lib/Target/X86/X86AsmPrinter.cpp X86TargetAsmInfo.cpp

Evan Cheng evan.cheng at apple.com
Thu Oct 26 12:18:33 PDT 2006



Changes in directory llvm/lib/Target/X86:

X86AsmPrinter.cpp updated: 1.205 -> 1.206
X86TargetAsmInfo.cpp updated: 1.4 -> 1.5
---
Log message:

Put cstrings in .cstring section when compiling for Mac OS X.

---
Diffs of the changes:  (+10 -1)

 X86AsmPrinter.cpp    |   10 +++++++++-
 X86TargetAsmInfo.cpp |    1 +
 2 files changed, 10 insertions(+), 1 deletion(-)


Index: llvm/lib/Target/X86/X86AsmPrinter.cpp
diff -u llvm/lib/Target/X86/X86AsmPrinter.cpp:1.205 llvm/lib/Target/X86/X86AsmPrinter.cpp:1.206
--- llvm/lib/Target/X86/X86AsmPrinter.cpp:1.205	Tue Oct 24 15:32:14 2006
+++ llvm/lib/Target/X86/X86AsmPrinter.cpp	Thu Oct 26 14:18:18 2006
@@ -204,9 +204,17 @@
         // If external or appending, declare as a global symbol
         O << "\t.globl " << name << "\n";
         // FALL THROUGH
-      case GlobalValue::InternalLinkage:
+      case GlobalValue::InternalLinkage: {
+        if (TAI->getCStringSection()) {
+          const ConstantArray *CVA = dyn_cast<ConstantArray>(C);
+          if (CVA && CVA->isCString()) {
+            SwitchToDataSection(TAI->getCStringSection(), I);
+            break;
+          }
+        }
         SwitchToDataSection(TAI->getDataSection(), I);
         break;
+      }
       default:
         assert(0 && "Unknown linkage type!");
       }


Index: llvm/lib/Target/X86/X86TargetAsmInfo.cpp
diff -u llvm/lib/Target/X86/X86TargetAsmInfo.cpp:1.4 llvm/lib/Target/X86/X86TargetAsmInfo.cpp:1.5
--- llvm/lib/Target/X86/X86TargetAsmInfo.cpp:1.4	Wed Oct  4 21:43:52 2006
+++ llvm/lib/Target/X86/X86TargetAsmInfo.cpp	Thu Oct 26 14:18:18 2006
@@ -32,6 +32,7 @@
     PrivateGlobalPrefix = "L";     // Marker for constant pool idxs
     ConstantPoolSection = "\t.const\n";
     JumpTableDataSection = "\t.const\n";
+    CStringSection = "\t.cstring";
     FourByteConstantSection = "\t.literal4\n";
     EightByteConstantSection = "\t.literal8\n";
     if (Subtarget->is64Bit())






More information about the llvm-commits mailing list