summaryrefslogtreecommitdiff
path: root/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-01-26 06:06:37 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-01-26 06:06:37 +0000
commitaa75693ea4d6136c22d2def344ce91852fcccfc7 (patch)
treef39b93f40d480659851f00541ded891ae990aafc /lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
parent4d130cbd77d70047fd01eea0a4b82bc36d15b741 (diff)
downloadllvm-aa75693ea4d6136c22d2def344ce91852fcccfc7.tar.gz
llvm-aa75693ea4d6136c22d2def344ce91852fcccfc7.tar.bz2
llvm-aa75693ea4d6136c22d2def344ce91852fcccfc7.tar.xz
Construct the MCStreamer before constructing the MCTargetStreamer.
This has a few advantages: * Only targets that use a MCTargetStreamer have to worry about it. * There is never a MCTargetStreamer without a MCStreamer, so we can use a reference. * A MCTargetStreamer can talk to the MCStreamer in its constructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200129 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp')
-rw-r--r--lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp b/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
index f4304cf6e4..d635bbf80f 100644
--- a/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
+++ b/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
@@ -27,8 +27,11 @@ static cl::opt<bool> PrintHackDirectives("print-hack-directives",
// Pin vtable to this file.
void MipsTargetStreamer::anchor() {}
-MipsTargetAsmStreamer::MipsTargetAsmStreamer(formatted_raw_ostream &OS)
- : OS(OS) {}
+MipsTargetStreamer::MipsTargetStreamer(MCStreamer &S) : MCTargetStreamer(S) {}
+
+MipsTargetAsmStreamer::MipsTargetAsmStreamer(MCStreamer &S,
+ formatted_raw_ostream &OS)
+ : MipsTargetStreamer(S), OS(OS) {}
void MipsTargetAsmStreamer::emitMipsHackELFFlags(unsigned Flags) {
if (!PrintHackDirectives)
@@ -93,7 +96,8 @@ void MipsTargetAsmStreamer::emitDirectiveOptionPic0() {
}
// This part is for ELF object output.
-MipsTargetELFStreamer::MipsTargetELFStreamer() : MicroMipsEnabled(false) {}
+MipsTargetELFStreamer::MipsTargetELFStreamer(MCStreamer &S)
+ : MipsTargetStreamer(S), MicroMipsEnabled(false) {}
void MipsTargetELFStreamer::emitLabel(MCSymbol *Symbol) {
if (!isMicroMipsEnabled())
@@ -110,7 +114,7 @@ void MipsTargetELFStreamer::emitLabel(MCSymbol *Symbol) {
}
MCELFStreamer &MipsTargetELFStreamer::getStreamer() {
- return static_cast<MCELFStreamer &>(*Streamer);
+ return static_cast<MCELFStreamer &>(Streamer);
}
void MipsTargetELFStreamer::emitMipsHackELFFlags(unsigned Flags) {