aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/MC/MCStreamer.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-03-11 00:51:37 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-03-11 00:51:37 +0000
commitf1a13f5ad5b54634989ae7d067f5364b56a5a8d4 (patch)
treea248456cf9ef7fe222dba54bc6f418b8e61fcf86 /llvm/lib/MC/MCStreamer.cpp
parent900086de8817c49724fa7b71edcbd7155ca955fa (diff)
downloadllvm-f1a13f5ad5b54634989ae7d067f5364b56a5a8d4.zip
llvm-f1a13f5ad5b54634989ae7d067f5364b56a5a8d4.tar.gz
llvm-f1a13f5ad5b54634989ae7d067f5364b56a5a8d4.tar.bz2
Print section start labels when first switching to the section.
This is less brittle and avoids polluting the start of the file with every debug section. llvm-svn: 231898
Diffstat (limited to 'llvm/lib/MC/MCStreamer.cpp')
-rw-r--r--llvm/lib/MC/MCStreamer.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/MC/MCStreamer.cpp b/llvm/lib/MC/MCStreamer.cpp
index d5277ff..63b0bf2 100644
--- a/llvm/lib/MC/MCStreamer.cpp
+++ b/llvm/lib/MC/MCStreamer.cpp
@@ -16,6 +16,7 @@
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCObjectFileInfo.h"
#include "llvm/MC/MCObjectWriter.h"
+#include "llvm/MC/MCSection.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/MC/MCWin64EH.h"
#include "llvm/Support/ErrorHandling.h"
@@ -670,5 +671,8 @@ void MCStreamer::SwitchSection(const MCSection *Section,
if (MCSectionSubPair(Section, Subsection) != curSection) {
SectionStack.back().first = MCSectionSubPair(Section, Subsection);
ChangeSection(Section, Subsection);
+ MCSymbol *Sym = Section->getBeginSymbol();
+ if (Sym && !Sym->isInSection())
+ EmitLabel(Sym);
}
}