diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp index 98c6fefad7e..9a87b1867df 100644 --- a/lib/VMCore/AsmWriter.cpp +++ b/lib/VMCore/AsmWriter.cpp @@ -1385,7 +1385,7 @@ void AssemblyWriter::printInstruction(const Instruction &I) { Out << " )"; if (PAL.getParamAttrs(0) != ParamAttr::None) - Out << " " << ParamAttr::getAsString(PAL.getParamAttrs(0)); + Out << ' ' << ParamAttr::getAsString(PAL.getParamAttrs(0)); Out << "\n\t\t\tto"; writeOperand(II->getNormalDest(), true); Out << " unwind"; diff --git a/lib/VMCore/ParameterAttributes.cpp b/lib/VMCore/ParameterAttributes.cpp index b5fb832fde6..d16f54de23a 100644 --- a/lib/VMCore/ParameterAttributes.cpp +++ b/lib/VMCore/ParameterAttributes.cpp @@ -52,6 +52,8 @@ std::string ParamAttr::getAsString(ParameterAttributes Attrs) { Result += utostr((Attrs & ParamAttr::Alignment) >> 16); Result += " "; } + // Trim the trailing space. + Result.erase(Result.end()-1); return Result; } diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp index 00a5870a349..c093274d9de 100644 --- a/lib/VMCore/Verifier.cpp +++ b/lib/VMCore/Verifier.cpp @@ -404,18 +404,18 @@ void Verifier::VerifyAttrs(ParameterAttributes Attrs, const Type *Ty, if (isReturnValue) { ParameterAttributes RetI = Attrs & ParamAttr::ParameterOnly; Assert1(!RetI, "Attribute " + ParamAttr::getAsString(RetI) + - "does not apply to return values!", V); + " does not apply to return values!", V); } else { ParameterAttributes ParmI = Attrs & ParamAttr::ReturnOnly; Assert1(!ParmI, "Attribute " + ParamAttr::getAsString(ParmI) + - "only applies to return values!", V); + " only applies to return values!", V); } for (unsigned i = 0; i < array_lengthof(ParamAttr::MutuallyIncompatible); ++i) { ParameterAttributes MutI = Attrs & ParamAttr::MutuallyIncompatible[i]; Assert1(!(MutI & (MutI - 1)), "Attributes " + - ParamAttr::getAsString(MutI) + "are incompatible!", V); + ParamAttr::getAsString(MutI) + " are incompatible!", V); } ParameterAttributes TypeI = Attrs & ParamAttr::typeIncompatible(Ty); @@ -931,7 +931,7 @@ void Verifier::VerifyCallSite(CallSite CS) { ParameterAttributes VArgI = Attr & ParamAttr::VarArgsIncompatible; Assert1(!VArgI, "Attribute " + ParamAttr::getAsString(VArgI) + - "cannot be used for vararg call arguments!", I); + " cannot be used for vararg call arguments!", I); } visitInstruction(*I); diff --git a/test/Assembler/2006-05-26-VarargsCallEncode.ll b/test/Assembler/2006-05-26-VarargsCallEncode.ll index bfa4343940f..6dc60c3f79d 100644 --- a/test/Assembler/2006-05-26-VarargsCallEncode.ll +++ b/test/Assembler/2006-05-26-VarargsCallEncode.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | llvm-dis | grep {tail call void.*sret null} +; RUN: llvm-as < %s | llvm-dis | grep {tail call void.*sret null} declare void @foo({ }* sret , ...)