diff options
Diffstat (limited to 'llvm/lib/MC/MCParser/MCTargetAsmParser.cpp')
-rw-r--r-- | llvm/lib/MC/MCParser/MCTargetAsmParser.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp b/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp index 7f09349..d7b0546 100644 --- a/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp +++ b/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp @@ -8,8 +8,8 @@ #include "llvm/MC/MCParser/MCTargetAsmParser.h" #include "llvm/MC/MCContext.h" +#include "llvm/MC/MCObjectStreamer.h" #include "llvm/MC/MCRegister.h" -#include "llvm/MC/MCStreamer.h" using namespace llvm; @@ -25,8 +25,9 @@ MCSubtargetInfo &MCTargetAsmParser::copySTI() { STI = &STICopy; // The returned STI will likely be modified. Create a new fragment to prevent // mixing STI values within a fragment. - if (getStreamer().getCurrentFragment()) - getStreamer().newFragment(); + auto &S = getStreamer(); + if (S.isObj() && S.getCurrentFragment()) + static_cast<MCObjectStreamer &>(S).newFragment(); return STICopy; } |