Index: lib/Target/ARM/AsmParser/ARMAsmParser.cpp =================================================================== --- lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -64,6 +64,8 @@ #include #include +#define DEBUG_TYPE "asm-parser" + using namespace llvm; namespace { @@ -85,11 +87,6 @@ static cl::opt AddBuildAttributes("arm-add-build-attributes", cl::init(false)); -cl::opt -DevDiags("arm-asm-parser-dev-diags", cl::init(false), - cl::desc("Use extended diagnostics, which include implementation " - "details useful for development")); - enum VectorLaneTy { NoLanes, AllLanes, IndexedLane }; class UnwindContext { @@ -10204,18 +10201,16 @@ NearMissMessage Message; Message.Loc = OperandLoc; - raw_svector_ostream OS(Message.Message); if (OperandDiag) { - OS << OperandDiag; + Message.Message = OperandDiag; } else if (I.getOperandClass() == InvalidMatchClass) { - OS << "too many operands for instruction"; + Message.Message = "too many operands for instruction"; } else { - OS << "invalid operand for instruction"; - if (DevDiags) { - OS << " class" << I.getOperandClass() << ", error " - << I.getOperandError() << ", opcode " - << MII.getName(I.getOpcode()); - } + Message.Message = "invalid operand for instruction"; + DEBUG(dbgs() << "Missing diagnostic string for operand class " << + getMatchClassName((MatchClassKind)I.getOperandClass()) + << I.getOperandClass() << ", error " << I.getOperandError() + << ", opcode " << MII.getName(I.getOpcode()) << "\n"); } NearMissesOut.emplace_back(Message); break;