The `Imm` union variant wasn't initialized anywhere. This fixes what is
printed by `llvm-mc -arch m68k --show-inst-operands`.
Differential Revision: https://reviews.llvm.org/D148302
SMLoc Start, End;
union {
StringRef Token;
- int64_t Imm;
const MCExpr *Expr;
M68kMemOp MemOp;
};
OS << "token '" << Token << "'";
break;
- case KindTy::Imm:
- OS << "immediate " << Imm;
+ case KindTy::Imm: {
+ int64_t Value;
+ Expr->evaluateAsAbsolute(Value);
+ OS << "immediate " << Value;
break;
+ }
case KindTy::MemOp:
MemOp.print(OS);
--- /dev/null
+# RUN: llvm-mc -triple=m68k -show-inst-operands %s 2> %t0
+# RUN: FileCheck %s < %t0
+
+; CHECK: parsed instruction: [token 'move.l', immediate 123, %24]
+move.l #123, %d0