aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/MC/MCParser/MCTargetAsmParser.cpp')
-rw-r--r--llvm/lib/MC/MCParser/MCTargetAsmParser.cpp7
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;
}