aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/ARM/ARMAsmPrinter.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/Target/ARM/ARMAsmPrinter.cpp b/lib/Target/ARM/ARMAsmPrinter.cpp
index a78e54d0e9..91d7d70d6f 100644
--- a/lib/Target/ARM/ARMAsmPrinter.cpp
+++ b/lib/Target/ARM/ARMAsmPrinter.cpp
@@ -207,8 +207,16 @@ bool ARMAsmPrinter::doFinalization(Module &M) {
unsigned Size = TD->getTypeSize(C->getType());
unsigned Align = TD->getTypeAlignment(C->getType());
- assert (I->getLinkage() == GlobalValue::ExternalLinkage);
- O << "\t.globl " << name << "\n";
+ switch (I->getLinkage()) {
+ default:
+ assert(0 && "Unknown linkage type!");
+ break;
+ case GlobalValue::ExternalLinkage:
+ O << "\t.globl " << name << "\n";
+ break;
+ case GlobalValue::InternalLinkage:
+ break;
+ }
assert (!C->isNullValue());
SwitchToDataSection(".data", I);