[llvm-commits] [llvm] r150572 - /llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp
Bill Wendling
isanbard at gmail.com
Wed Feb 15 01:14:09 PST 2012
Author: void
Date: Wed Feb 15 03:14:08 2012
New Revision: 150572
URL: http://llvm.org/viewvc/llvm-project?rev=150572&view=rev
Log:
Strip the pointer casts from the constants here.
The c'tor list is stored as a list of 'void ()*'s, so all of the functions are
bitcast to that. However, the dyn_cast doesn't automagically look through
bitcasts. Do that for it.
<rdar://problem/10813350>
Modified:
llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp
Modified: llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp?rev=150572&r1=150571&r2=150572&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp Wed Feb 15 03:14:08 2012
@@ -302,7 +302,7 @@
uint64_t Size = TM.getTargetData()->getTypeAllocSize(CV->getType());
assert(Size && "C++ constructor pointer had zero size!");
- const GlobalValue *GV = dyn_cast<GlobalValue>(CV);
+ const GlobalValue *GV = dyn_cast<GlobalValue>(CV->stripPointerCasts());
assert(GV && "C++ constructor pointer was not a GlobalValue!");
const MCExpr *E = MCSymbolRefExpr::Create(Mang->getSymbol(GV),
More information about the llvm-commits
mailing list