diff options
Diffstat (limited to 'llvm/lib/IR')
-rw-r--r-- | llvm/lib/IR/DiagnosticInfo.cpp | 14 | ||||
-rw-r--r-- | llvm/lib/IR/LLVMContext.cpp | 10 |
2 files changed, 17 insertions, 7 deletions
diff --git a/llvm/lib/IR/DiagnosticInfo.cpp b/llvm/lib/IR/DiagnosticInfo.cpp index 23428075..eb91f49 100644 --- a/llvm/lib/IR/DiagnosticInfo.cpp +++ b/llvm/lib/IR/DiagnosticInfo.cpp @@ -48,6 +48,20 @@ int llvm::getNextAvailablePluginDiagnosticKind() { const char *OptimizationRemarkAnalysis::AlwaysPrint = ""; +void DiagnosticInfoGeneric::print(DiagnosticPrinter &DP) const { + DP << getMsgStr(); +} + +void DiagnosticInfoGenericWithLoc::print(DiagnosticPrinter &DP) const { + DP << getLocationStr() << ": " << getMsgStr(); +} + +DiagnosticInfoInlineAsm::DiagnosticInfoInlineAsm(uint64_t LocCookie, + const Twine &MsgStr, + DiagnosticSeverity Severity) + : DiagnosticInfo(DK_InlineAsm, Severity), LocCookie(LocCookie), + MsgStr(MsgStr) {} + DiagnosticInfoInlineAsm::DiagnosticInfoInlineAsm(const Instruction &I, const Twine &MsgStr, DiagnosticSeverity Severity) diff --git a/llvm/lib/IR/LLVMContext.cpp b/llvm/lib/IR/LLVMContext.cpp index e078527..eb51a75 100644 --- a/llvm/lib/IR/LLVMContext.cpp +++ b/llvm/lib/IR/LLVMContext.cpp @@ -219,12 +219,12 @@ void LLVMContext::yield() { } void LLVMContext::emitError(const Twine &ErrorStr) { - diagnose(DiagnosticInfoInlineAsm(ErrorStr)); + diagnose(DiagnosticInfoGeneric(ErrorStr)); } void LLVMContext::emitError(const Instruction *I, const Twine &ErrorStr) { - assert (I && "Invalid instruction"); - diagnose(DiagnosticInfoInlineAsm(*I, ErrorStr)); + assert(I && "Invalid instruction"); + diagnose(DiagnosticInfoGeneric(I, ErrorStr)); } static bool isDiagnosticEnabled(const DiagnosticInfo &DI) { @@ -283,10 +283,6 @@ void LLVMContext::diagnose(const DiagnosticInfo &DI) { exit(1); } -void LLVMContext::emitError(uint64_t LocCookie, const Twine &ErrorStr) { - diagnose(DiagnosticInfoInlineAsm(LocCookie, ErrorStr)); -} - //===----------------------------------------------------------------------===// // Metadata Kind Uniquing //===----------------------------------------------------------------------===// |