diff options
author | Lauro Ramos Venancio <lauro.venancio@gmail.com> | 2007-04-25 14:50:40 +0000 |
---|---|---|
committer | Lauro Ramos Venancio <lauro.venancio@gmail.com> | 2007-04-25 14:50:40 +0000 |
commit | 305b8a5f62c9d027f3d8a870fc12fc2abf69aeea (patch) | |
tree | 3370259beebe41849043e03ce94c9303666fced2 /lib/Target/ARM/ARMAsmPrinter.cpp | |
parent | 77d0f970b32d0eb62ca06dda19be42f2ffd341cd (diff) | |
download | external_llvm-305b8a5f62c9d027f3d8a870fc12fc2abf69aeea.zip external_llvm-305b8a5f62c9d027f3d8a870fc12fc2abf69aeea.tar.gz external_llvm-305b8a5f62c9d027f3d8a870fc12fc2abf69aeea.tar.bz2 |
remember to emit weak reference in one more case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36438 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMAsmPrinter.cpp')
-rw-r--r-- | lib/Target/ARM/ARMAsmPrinter.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/Target/ARM/ARMAsmPrinter.cpp b/lib/Target/ARM/ARMAsmPrinter.cpp index 6822e63..6e9a903 100644 --- a/lib/Target/ARM/ARMAsmPrinter.cpp +++ b/lib/Target/ARM/ARMAsmPrinter.cpp @@ -639,8 +639,13 @@ void ARMAsmPrinter::printCPInstOperand(const MachineInstr *MI, int OpNo, if (MCPE.isMachineConstantPoolEntry()) EmitMachineConstantPoolValue(MCPE.Val.MachineCPVal); - else + else { EmitGlobalConstant(MCPE.Val.ConstVal); + // remember to emit the weak reference + if (const GlobalValue *GV = dyn_cast<GlobalValue>(MCPE.Val.ConstVal)) + if (GV->hasExternalWeakLinkage()) + ExtWeakSymbols.insert(GV); + } } } |