diff options
author | Iain Sandoe <iain@codesourcery.com> | 2014-01-28 11:03:17 +0000 |
---|---|---|
committer | Iain Sandoe <iain@codesourcery.com> | 2014-01-28 11:03:17 +0000 |
commit | a0a1e41c1bacc8bf23ae5651bd912c1550ca8d0b (patch) | |
tree | c430b0b2c6bc3f219b05c64a0e1151c25ae8b7f0 | |
parent | 5e7eecd8509707a77a6b84c7879b947e14698ef0 (diff) | |
download | llvm-a0a1e41c1bacc8bf23ae5651bd912c1550ca8d0b.tar.gz llvm-a0a1e41c1bacc8bf23ae5651bd912c1550ca8d0b.tar.bz2 llvm-a0a1e41c1bacc8bf23ae5651bd912c1550ca8d0b.tar.xz |
Provide a stub Target Streamer implementation for PPC MachO
At present, this handles .tc (error) and needs to be expanded to deal properly with .machine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200309 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp b/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp index 421a797886..309c8fcca5 100644 --- a/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp +++ b/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp @@ -139,6 +139,18 @@ public: // limit the parser? } }; + +class PPCTargetMachOStreamer : public PPCTargetStreamer { +public: + PPCTargetMachOStreamer(MCStreamer &S) : PPCTargetStreamer(S) {} + virtual void emitTCEntry(const MCSymbol &S) { + llvm_unreachable("Unknown pseudo-op: .tc"); + } + virtual void emitMachine(StringRef CPU) { + // FIXME: We should update the CPUType, CPUSubType in the Object file if + // the new values are different from the defaults. + } +}; } // This is duplicated code. Refactor this. @@ -149,8 +161,11 @@ static MCStreamer *createMCStreamer(const Target &T, StringRef TT, const MCSubtargetInfo &STI, bool RelaxAll, bool NoExecStack) { - if (Triple(TT).isOSDarwin()) - return createMachOStreamer(Ctx, MAB, OS, Emitter, RelaxAll); + if (Triple(TT).isOSDarwin()) { + MCStreamer *S = createMachOStreamer(Ctx, MAB, OS, Emitter, RelaxAll); + new PPCTargetMachOStreamer(*S); + return S; + } MCStreamer *S = createELFStreamer(Ctx, MAB, OS, Emitter, RelaxAll, NoExecStack); |