[llvm-commits] CVS: llvm/lib/Target/ARM/ARMAsmPrinter.cpp

Lauro Ramos Venancio lauro.venancio at gmail.com
Fri Jan 26 11:51:49 PST 2007



Changes in directory llvm/lib/Target/ARM:

ARMAsmPrinter.cpp updated: 1.48 -> 1.49
---
Log message:

If the constant pool value is a extern weak symbol, emit the weak reference.


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

 ARMAsmPrinter.cpp |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletion(-)


Index: llvm/lib/Target/ARM/ARMAsmPrinter.cpp
diff -u llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.48 llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.49
--- llvm/lib/Target/ARM/ARMAsmPrinter.cpp:1.48	Thu Jan 25 14:11:04 2007
+++ llvm/lib/Target/ARM/ARMAsmPrinter.cpp	Fri Jan 26 13:51:32 2007
@@ -121,7 +121,8 @@
       printDataDirective(MCPV->getType());
 
       ARMConstantPoolValue *ACPV = (ARMConstantPoolValue*)MCPV;
-      std::string Name = Mang->getValueName(ACPV->getGV());
+      GlobalValue *GV = ACPV->getGV();
+      std::string Name = Mang->getValueName(GV);
       if (ACPV->isNonLazyPointer()) {
         GVNonLazyPtrs.insert(Name);
         O << TAI->getPrivateGlobalPrefix() << Name << "$non_lazy_ptr";
@@ -132,6 +133,11 @@
           << utostr(ACPV->getLabelId())
           << "+" << (unsigned)ACPV->getPCAdjustment() << ")";
       O << "\n";
+
+      // If the constant pool value is a extern weak symbol, remember to emit
+      // the weak reference.
+      if (GV->hasExternalWeakLinkage())
+        ExtWeakSymbols.insert(GV);
     }
     
     void getAnalysisUsage(AnalysisUsage &AU) const {






More information about the llvm-commits mailing list