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

Evan Cheng evan.cheng at apple.com
Thu Nov 30 23:15:39 PST 2006



Changes in directory llvm/lib/Target/X86:

X86AsmPrinter.cpp updated: 1.214 -> 1.215
---
Log message:

Darwin X86 external weak linkage support.

---
Diffs of the changes:  (+3 -5)

 X86AsmPrinter.cpp |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)


Index: llvm/lib/Target/X86/X86AsmPrinter.cpp
diff -u llvm/lib/Target/X86/X86AsmPrinter.cpp:1.214 llvm/lib/Target/X86/X86AsmPrinter.cpp:1.215
--- llvm/lib/Target/X86/X86AsmPrinter.cpp:1.214	Thu Nov 30 18:25:12 2006
+++ llvm/lib/Target/X86/X86AsmPrinter.cpp	Fri Dec  1 01:15:24 2006
@@ -283,10 +283,7 @@
     O << "\t.ascii \" -export:" << *i << "\"\n";
   }    
 
-  if (Subtarget->isTargetDarwin()) {
-    if (ExtWeakSymbols.begin() != ExtWeakSymbols.end())
-      assert(0 && "External weak linkage for Darwin not implemented yet");
-  } else if (Subtarget->isTargetCygwin()) {
+  if (Subtarget->isTargetCygwin()) {
     // There is no external weak linkage on Mingw32 platform.
     // Defaulting to external
   } else {
@@ -296,7 +293,8 @@
     for (std::set<std::string>::iterator i = ExtWeakSymbols.begin(),
          e = ExtWeakSymbols.end();
          i != e; ++i) {
-      O << "\t.weak " << *i << "\n";
+      O << (Subtarget->isTargetDarwin() ? "\t.weak_reference" : "\t.weak")
+        << " " << *i << "\n";
     }
   }
   






More information about the llvm-commits mailing list