diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-01-26 06:06:37 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-01-26 06:06:37 +0000 |
commit | aa75693ea4d6136c22d2def344ce91852fcccfc7 (patch) | |
tree | f39b93f40d480659851f00541ded891ae990aafc /lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp | |
parent | 4d130cbd77d70047fd01eea0a4b82bc36d15b741 (diff) | |
download | llvm-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.cpp | 12 |
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) { |