summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
diff options
context:
space:
mode:
authorRichard Mitton <richard@codersnotes.com>2013-09-23 17:56:20 +0000
committerRichard Mitton <richard@codersnotes.com>2013-09-23 17:56:20 +0000
commit089ed89e76212fe54f24d3dae83d6bad28cd88b6 (patch)
tree060a88b401f97a0807658142bd96e431972e11c9 /llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
parent1b5ee5d9f19bd9dcbe8fd57d9c56548e5e4527c7 (diff)
downloadbcm5719-llvm-089ed89e76212fe54f24d3dae83d6bad28cd88b6.tar.gz
bcm5719-llvm-089ed89e76212fe54f24d3dae83d6bad28cd88b6.zip
Fixed debug_aranges handling for common symbols.
The size of common symbols is now tracked correctly, so they can be listed in the arange section without needing knowledge of other following symbols. .comm (and .lcomm) do not indicate to the system assembler any particular section to use, so we have to treat them as having no section. Test case update to account for this. llvm-svn: 191210
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index e66237706bc..de08b77012b 100644
--- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -292,6 +292,9 @@ void AsmPrinter::EmitGlobalVariable(const GlobalVariable *GV) {
// sections and expected to be contiguous (e.g. ObjC metadata).
unsigned AlignLog = getGVAlignmentLog2(GV, *TD);
+ if (DD)
+ DD->setSymbolSize(GVSym, Size);
+
// Handle common and BSS local symbols (.lcomm).
if (GVKind.isCommon() || GVKind.isBSSLocal()) {
if (Size == 0) Size = 1; // .comm Foo, 0 is undefined, avoid it.
OpenPOWER on IntegriCloud