diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2022-10-29 12:55:57 -0700 |
---|---|---|
committer | Matt Arsenault <arsenm2@gmail.com> | 2022-11-01 11:11:03 -0700 |
commit | 3bb12d3005ffdf5b2b34d4a84008e50ef4577e46 (patch) | |
tree | 096702fe4ed7119212fcc9da3ba87e2e0716f54b /llvm/lib/Target/XCore | |
parent | e83e289fd1aabac9253a04fc8ae6051759ccb20e (diff) | |
download | llvm-3bb12d3005ffdf5b2b34d4a84008e50ef4577e46.zip llvm-3bb12d3005ffdf5b2b34d4a84008e50ef4577e46.tar.gz llvm-3bb12d3005ffdf5b2b34d4a84008e50ef4577e46.tar.bz2 |
XCore: Register null MCTargetStreamer
Fixes null dereference when printing globals
Diffstat (limited to 'llvm/lib/Target/XCore')
-rw-r--r-- | llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp | 7 | ||||
-rw-r--r-- | llvm/lib/Target/XCore/XCoreTargetStreamer.h | 8 |
2 files changed, 11 insertions, 4 deletions
diff --git a/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp b/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp index a782ff4..bc69e18 100644 --- a/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp +++ b/llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp @@ -122,6 +122,10 @@ static MCTargetStreamer *createTargetAsmStreamer(MCStreamer &S, return new XCoreTargetAsmStreamer(S, OS); } +static MCTargetStreamer *createNullTargetStreamer(MCStreamer &S) { + return new XCoreTargetStreamer(S); +} + // Force static initialization. extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeXCoreTargetMC() { // Register the MC asm info. @@ -145,4 +149,7 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeXCoreTargetMC() { TargetRegistry::RegisterAsmTargetStreamer(getTheXCoreTarget(), createTargetAsmStreamer); + + TargetRegistry::RegisterNullTargetStreamer(getTheXCoreTarget(), + createNullTargetStreamer); } diff --git a/llvm/lib/Target/XCore/XCoreTargetStreamer.h b/llvm/lib/Target/XCore/XCoreTargetStreamer.h index 3543fc5..373f0d7 100644 --- a/llvm/lib/Target/XCore/XCoreTargetStreamer.h +++ b/llvm/lib/Target/XCore/XCoreTargetStreamer.h @@ -16,10 +16,10 @@ class XCoreTargetStreamer : public MCTargetStreamer { public: XCoreTargetStreamer(MCStreamer &S); ~XCoreTargetStreamer() override; - virtual void emitCCTopData(StringRef Name) = 0; - virtual void emitCCTopFunction(StringRef Name) = 0; - virtual void emitCCBottomData(StringRef Name) = 0; - virtual void emitCCBottomFunction(StringRef Name) = 0; + virtual void emitCCTopData(StringRef Name){}; + virtual void emitCCTopFunction(StringRef Name){}; + virtual void emitCCBottomData(StringRef Name){}; + virtual void emitCCBottomFunction(StringRef Name){}; }; } |