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/MC/MCStreamer.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/MC/MCStreamer.cpp')
-rw-r--r-- | lib/MC/MCStreamer.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/MC/MCStreamer.cpp b/lib/MC/MCStreamer.cpp index 0b7c906719..8cbfc5c83e 100644 --- a/lib/MC/MCStreamer.cpp +++ b/lib/MC/MCStreamer.cpp @@ -25,14 +25,17 @@ using namespace llvm; // Pin the vtables to this file. MCTargetStreamer::~MCTargetStreamer() {} + +MCTargetStreamer::MCTargetStreamer(MCStreamer &S) : Streamer(S) { + S.setTargetStreamer(this); +} + void MCTargetStreamer::emitLabel(MCSymbol *Symbol) {} -MCStreamer::MCStreamer(MCContext &Ctx, MCTargetStreamer *TargetStreamer) - : Context(Ctx), TargetStreamer(TargetStreamer), EmitEHFrame(true), - EmitDebugFrame(false), CurrentW64UnwindInfo(0), LastSymbol(0) { +MCStreamer::MCStreamer(MCContext &Ctx) + : Context(Ctx), EmitEHFrame(true), EmitDebugFrame(false), + CurrentW64UnwindInfo(0), LastSymbol(0) { SectionStack.push_back(std::pair<MCSectionSubPair, MCSectionSubPair>()); - if (TargetStreamer) - TargetStreamer->setStreamer(this); } MCStreamer::~MCStreamer() { |