diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2006-12-07 18:33:58 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2006-12-07 18:33:58 +0000 |
commit | 7367d05cb713d11f8ac1e0815ac6b2eb6b17088c (patch) | |
tree | f79d9bcd73180ec31ac57f0135036e868ba4dc1e | |
parent | e77242c3d5843a5a6484794254623c8552dc6a4f (diff) |
make sure that we don't use a common symbol if a section was specified
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32310 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/ARM/ARMAsmPrinter.cpp | 1 | ||||
-rw-r--r-- | test/CodeGen/ARM/section.ll | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMAsmPrinter.cpp b/lib/Target/ARM/ARMAsmPrinter.cpp index 617933c6bb..b85cfa29c5 100644 --- a/lib/Target/ARM/ARMAsmPrinter.cpp +++ b/lib/Target/ARM/ARMAsmPrinter.cpp @@ -296,6 +296,7 @@ bool ARMAsmPrinter::doFinalization(Module &M) { unsigned Align = TD->getTypeAlignment(C->getType()); if (C->isNullValue() && + !I->hasSection() && (I->hasLinkOnceLinkage() || I->hasInternalLinkage() || I->hasWeakLinkage())) { SwitchToDataSection(".data", I); diff --git a/test/CodeGen/ARM/section.ll b/test/CodeGen/ARM/section.ll new file mode 100644 index 0000000000..cd33c12f41 --- /dev/null +++ b/test/CodeGen/ARM/section.ll @@ -0,0 +1,4 @@ +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm && +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "__DTOR_END__:" + +%__DTOR_END__ = internal global [1 x int] zeroinitializer, section ".dtors" |