diff --git a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp index aa465cc24f8c..96341c534bdb 100644 --- a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp +++ b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp @@ -303,8 +303,10 @@ bool ARMAsmPrinter::doFinalization(Module &M) { break; } - assert (!C->isNullValue()); - SwitchToDataSection(".data", I); + if (C->isNullValue()) + SwitchToDataSection(".bss", I); + else + SwitchToDataSection(".data", I); EmitAlignment(Align, I); O << "\t.type " << name << ", %object\n";