summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/include/llvm/LLVMContext.h40
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp10
-rw-r--r--llvm/lib/VMCore/LLVMContext.cpp34
-rw-r--r--llvm/lib/VMCore/LLVMContextImpl.cpp4
-rw-r--r--llvm/lib/VMCore/LLVMContextImpl.h4
5 files changed, 51 insertions, 41 deletions
diff --git a/llvm/include/llvm/LLVMContext.h b/llvm/include/llvm/LLVMContext.h
index a5a26946b77..58fb39f0564 100644
--- a/llvm/include/llvm/LLVMContext.h
+++ b/llvm/include/llvm/LLVMContext.h
@@ -58,27 +58,39 @@ public:
void getMDKindNames(SmallVectorImpl<StringRef> &Result) const;
- typedef void (*InlineAsmDiagHandlerTy)(const SMDiagnostic&, void *Context,
- unsigned LocCookie);
+ typedef void (*DiagHandlerTy)(const SMDiagnostic&, void *Context,
+ unsigned LocCookie);
- /// setInlineAsmDiagnosticHandler - This method sets a handler that is invoked
- /// when problems with inline asm are detected by the backend. The first
- /// argument is a function pointer and the second is a context pointer that
- /// gets passed into the DiagHandler.
+ /// setDiagnosticHandler - This method sets a handler that is invoked
+ /// when problems are detected by the backend. The first argument is a
+ /// function pointer and the second is a context pointer that gets passed
+ /// into the DiagHandler.
///
/// LLVMContext doesn't take ownership or interpret either of these
/// pointers.
- void setInlineAsmDiagnosticHandler(InlineAsmDiagHandlerTy DiagHandler,
- void *DiagContext = 0);
+ void setDiagnosticHandler(DiagHandlerTy DiagHandler, void *DiagContext = 0);
- /// getInlineAsmDiagnosticHandler - Return the diagnostic handler set by
- /// setInlineAsmDiagnosticHandler.
- InlineAsmDiagHandlerTy getInlineAsmDiagnosticHandler() const;
+ /// getDiagnosticHandler - Return the diagnostic handler set by
+ /// setDiagnosticHandler.
+ DiagHandlerTy getDiagnosticHandler() const;
- /// getInlineAsmDiagnosticContext - Return the diagnostic context set by
- /// setInlineAsmDiagnosticHandler.
- void *getInlineAsmDiagnosticContext() const;
+ /// getDiagnosticContext - Return the diagnostic context set by
+ /// setDiagnosticHandler.
+ void *getDiagnosticContext() const;
+ /// FIXME: Temporary copies of the old names; to be removed as soon as
+ /// clang switches to the new ones.
+ typedef DiagHandlerTy InlineAsmDiagHandlerTy;
+ void setInlineAsmDiagnosticHandler(InlineAsmDiagHandlerTy DiagHandler,
+ void *DiagContext = 0) {
+ setDiagnosticHandler(DiagHandler, DiagContext);
+ }
+ InlineAsmDiagHandlerTy getInlineAsmDiagnosticHandler() const {
+ return getDiagnosticHandler();
+ }
+ void *getInlineAsmDiagnosticContext() const {
+ return getDiagnosticContext();
+ }
/// emitError - Emit an error message to the currently installed error handler
/// with optional location information. This function returns, so code should
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
index 10a56af5d32..6a21efe1f25 100644
--- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
@@ -38,7 +38,7 @@ using namespace llvm;
namespace {
struct SrcMgrDiagInfo {
const MDNode *LocInfo;
- LLVMContext::InlineAsmDiagHandlerTy DiagHandler;
+ LLVMContext::DiagHandlerTy DiagHandler;
void *DiagContext;
};
}
@@ -88,15 +88,15 @@ void AsmPrinter::EmitInlineAsm(StringRef Str, const MDNode *LocMDNode,
SourceMgr SrcMgr;
SrcMgrDiagInfo DiagInfo;
- // If the current LLVMContext has an inline asm handler, set it in SourceMgr.
+ // If the current LLVMContext has a diagnostic handler, set it in SourceMgr.
LLVMContext &LLVMCtx = MMI->getModule()->getContext();
bool HasDiagHandler = false;
- if (LLVMCtx.getInlineAsmDiagnosticHandler() != 0) {
+ if (LLVMCtx.getDiagnosticHandler() != 0) {
// If the source manager has an issue, we arrange for srcMgrDiagHandler
// to be invoked, getting DiagInfo passed into it.
DiagInfo.LocInfo = LocMDNode;
- DiagInfo.DiagHandler = LLVMCtx.getInlineAsmDiagnosticHandler();
- DiagInfo.DiagContext = LLVMCtx.getInlineAsmDiagnosticContext();
+ DiagInfo.DiagHandler = LLVMCtx.getDiagnosticHandler();
+ DiagInfo.DiagContext = LLVMCtx.getDiagnosticContext();
SrcMgr.setDiagHandler(srcMgrDiagHandler, &DiagInfo);
HasDiagHandler = true;
}
diff --git a/llvm/lib/VMCore/LLVMContext.cpp b/llvm/lib/VMCore/LLVMContext.cpp
index bdb1b4ba2ee..c09c2e57adb 100644
--- a/llvm/lib/VMCore/LLVMContext.cpp
+++ b/llvm/lib/VMCore/LLVMContext.cpp
@@ -73,24 +73,22 @@ void LLVMContext::removeModule(Module *M) {
// Recoverable Backend Errors
//===----------------------------------------------------------------------===//
-void LLVMContext::
-setInlineAsmDiagnosticHandler(InlineAsmDiagHandlerTy DiagHandler,
- void *DiagContext) {
- pImpl->InlineAsmDiagHandler = DiagHandler;
- pImpl->InlineAsmDiagContext = DiagContext;
+void LLVMContext::setDiagnosticHandler(DiagHandlerTy DiagHandler,
+ void *DiagContext) {
+ pImpl->DiagHandler = DiagHandler;
+ pImpl->DiagContext = DiagContext;
}
-/// getInlineAsmDiagnosticHandler - Return the diagnostic handler set by
-/// setInlineAsmDiagnosticHandler.
-LLVMContext::InlineAsmDiagHandlerTy
-LLVMContext::getInlineAsmDiagnosticHandler() const {
- return pImpl->InlineAsmDiagHandler;
+/// getDiagnosticHandler - Return the diagnostic handler set by
+/// setDiagnosticHandler.
+LLVMContext::DiagHandlerTy LLVMContext::getDiagnosticHandler() const {
+ return pImpl->DiagHandler;
}
-/// getInlineAsmDiagnosticContext - Return the diagnostic context set by
-/// setInlineAsmDiagnosticHandler.
-void *LLVMContext::getInlineAsmDiagnosticContext() const {
- return pImpl->InlineAsmDiagContext;
+/// getDiagnosticContext - Return the diagnostic context set by
+/// setDiagnosticHandler.
+void *LLVMContext::getDiagnosticContext() const {
+ return pImpl->DiagContext;
}
void LLVMContext::emitError(const Twine &ErrorStr) {
@@ -123,7 +121,7 @@ void LLVMContext::emitWarning(const Instruction *I, const Twine &ErrorStr) {
void LLVMContext::emitError(unsigned LocCookie, const Twine &ErrorStr) {
// If there is no error handler installed, just print the error and exit.
- if (pImpl->InlineAsmDiagHandler == 0) {
+ if (pImpl->DiagHandler == 0) {
errs() << "error: " << ErrorStr << "\n";
exit(1);
}
@@ -131,12 +129,12 @@ void LLVMContext::emitError(unsigned LocCookie, const Twine &ErrorStr) {
// If we do have an error handler, we can report the error and keep going.
SMDiagnostic Diag("", SourceMgr::DK_Error, ErrorStr.str());
- pImpl->InlineAsmDiagHandler(Diag, pImpl->InlineAsmDiagContext, LocCookie);
+ pImpl->DiagHandler(Diag, pImpl->DiagContext, LocCookie);
}
void LLVMContext::emitWarning(unsigned LocCookie, const Twine &ErrorStr) {
// If there is no handler installed, just print the warning.
- if (pImpl->InlineAsmDiagHandler == 0) {
+ if (pImpl->DiagHandler == 0) {
errs() << "warning: " << ErrorStr << "\n";
return;
}
@@ -144,7 +142,7 @@ void LLVMContext::emitWarning(unsigned LocCookie, const Twine &ErrorStr) {
// If we do have a handler, we can report the warning.
SMDiagnostic Diag("", SourceMgr::DK_Warning, ErrorStr.str());
- pImpl->InlineAsmDiagHandler(Diag, pImpl->InlineAsmDiagContext, LocCookie);
+ pImpl->DiagHandler(Diag, pImpl->DiagContext, LocCookie);
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/VMCore/LLVMContextImpl.cpp b/llvm/lib/VMCore/LLVMContextImpl.cpp
index 585ec2c3486..61fb7f37d49 100644
--- a/llvm/lib/VMCore/LLVMContextImpl.cpp
+++ b/llvm/lib/VMCore/LLVMContextImpl.cpp
@@ -35,8 +35,8 @@ LLVMContextImpl::LLVMContextImpl(LLVMContext &C)
Int16Ty(C, 16),
Int32Ty(C, 32),
Int64Ty(C, 64) {
- InlineAsmDiagHandler = 0;
- InlineAsmDiagContext = 0;
+ DiagHandler = 0;
+ DiagContext = 0;
NamedStructTypesUniqueID = 0;
}
diff --git a/llvm/lib/VMCore/LLVMContextImpl.h b/llvm/lib/VMCore/LLVMContextImpl.h
index 7ff012034c7..c3adf39fc7e 100644
--- a/llvm/lib/VMCore/LLVMContextImpl.h
+++ b/llvm/lib/VMCore/LLVMContextImpl.h
@@ -236,8 +236,8 @@ public:
/// will be automatically deleted if this context is deleted.
SmallPtrSet<Module*, 4> OwnedModules;
- LLVMContext::InlineAsmDiagHandlerTy InlineAsmDiagHandler;
- void *InlineAsmDiagContext;
+ LLVMContext::DiagHandlerTy DiagHandler;
+ void *DiagContext;
typedef DenseMap<DenseMapAPIntKeyInfo::KeyTy, ConstantInt*,
DenseMapAPIntKeyInfo> IntMapTy;
OpenPOWER on IntegriCloud