aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2013-02-11 05:37:07 +0000
committerBob Wilson <bob.wilson@apple.com>2013-02-11 05:37:07 +0000
commitf64c889cc94417322b0ff8ad1c61939183bf3c38 (patch)
treee867d640e7e3199dec62a8ed0e06f17967bf88e4
parent00f63b1b84d059a1ffa572e76708e03750a9e523 (diff)
downloadexternal_llvm-f64c889cc94417322b0ff8ad1c61939183bf3c38.zip
external_llvm-f64c889cc94417322b0ff8ad1c61939183bf3c38.tar.gz
external_llvm-f64c889cc94417322b0ff8ad1c61939183bf3c38.tar.bz2
Revert "Rename LLVMContext diagnostic handler types and functions."
This reverts my commit 171047. Now that I've removed my misguided attempt to support backend warnings, these diagnostics are only about inline assembly. It would take quite a bit more work to generalize them properly, so I'm just reverting this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174860 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/IR/LLVMContext.h40
-rw-r--r--lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp10
-rw-r--r--lib/IR/LLVMContext.cpp30
-rw-r--r--lib/IR/LLVMContextImpl.cpp4
-rw-r--r--lib/IR/LLVMContextImpl.h4
5 files changed, 39 insertions, 49 deletions
diff --git a/include/llvm/IR/LLVMContext.h b/include/llvm/IR/LLVMContext.h
index b28a3f2..b3c558b 100644
--- a/include/llvm/IR/LLVMContext.h
+++ b/include/llvm/IR/LLVMContext.h
@@ -58,39 +58,27 @@ public:
void getMDKindNames(SmallVectorImpl<StringRef> &Result) const;
- typedef void (*DiagHandlerTy)(const SMDiagnostic&, void *Context,
- unsigned LocCookie);
+ typedef void (*InlineAsmDiagHandlerTy)(const SMDiagnostic&, void *Context,
+ unsigned LocCookie);
- /// 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.
+ /// 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.
///
/// LLVMContext doesn't take ownership or interpret either of these
/// pointers.
- void setDiagnosticHandler(DiagHandlerTy DiagHandler, void *DiagContext = 0);
+ void setInlineAsmDiagnosticHandler(InlineAsmDiagHandlerTy DiagHandler,
+ void *DiagContext = 0);
- /// getDiagnosticHandler - Return the diagnostic handler set by
- /// setDiagnosticHandler.
- DiagHandlerTy getDiagnosticHandler() const;
+ /// getInlineAsmDiagnosticHandler - Return the diagnostic handler set by
+ /// setInlineAsmDiagnosticHandler.
+ InlineAsmDiagHandlerTy getInlineAsmDiagnosticHandler() const;
- /// getDiagnosticContext - Return the diagnostic context set by
- /// setDiagnosticHandler.
- void *getDiagnosticContext() const;
+ /// getInlineAsmDiagnosticContext - Return the diagnostic context set by
+ /// setInlineAsmDiagnosticHandler.
+ void *getInlineAsmDiagnosticContext() 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/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp b/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
index d5608c3..abfa330 100644
--- a/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
+++ b/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
@@ -38,7 +38,7 @@ using namespace llvm;
namespace {
struct SrcMgrDiagInfo {
const MDNode *LocInfo;
- LLVMContext::DiagHandlerTy DiagHandler;
+ LLVMContext::InlineAsmDiagHandlerTy DiagHandler;
void *DiagContext;
};
}
@@ -88,15 +88,15 @@ void AsmPrinter::EmitInlineAsm(StringRef Str, const MDNode *LocMDNode,
SourceMgr SrcMgr;
SrcMgrDiagInfo DiagInfo;
- // If the current LLVMContext has a diagnostic handler, set it in SourceMgr.
+ // If the current LLVMContext has an inline asm handler, set it in SourceMgr.
LLVMContext &LLVMCtx = MMI->getModule()->getContext();
bool HasDiagHandler = false;
- if (LLVMCtx.getDiagnosticHandler() != 0) {
+ if (LLVMCtx.getInlineAsmDiagnosticHandler() != 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.getDiagnosticHandler();
- DiagInfo.DiagContext = LLVMCtx.getDiagnosticContext();
+ DiagInfo.DiagHandler = LLVMCtx.getInlineAsmDiagnosticHandler();
+ DiagInfo.DiagContext = LLVMCtx.getInlineAsmDiagnosticContext();
SrcMgr.setDiagHandler(srcMgrDiagHandler, &DiagInfo);
HasDiagHandler = true;
}
diff --git a/lib/IR/LLVMContext.cpp b/lib/IR/LLVMContext.cpp
index 774c591..8e2bbb7 100644
--- a/lib/IR/LLVMContext.cpp
+++ b/lib/IR/LLVMContext.cpp
@@ -73,22 +73,24 @@ void LLVMContext::removeModule(Module *M) {
// Recoverable Backend Errors
//===----------------------------------------------------------------------===//
-void LLVMContext::setDiagnosticHandler(DiagHandlerTy DiagHandler,
- void *DiagContext) {
- pImpl->DiagHandler = DiagHandler;
- pImpl->DiagContext = DiagContext;
+void LLVMContext::
+setInlineAsmDiagnosticHandler(InlineAsmDiagHandlerTy DiagHandler,
+ void *DiagContext) {
+ pImpl->InlineAsmDiagHandler = DiagHandler;
+ pImpl->InlineAsmDiagContext = DiagContext;
}
-/// getDiagnosticHandler - Return the diagnostic handler set by
-/// setDiagnosticHandler.
-LLVMContext::DiagHandlerTy LLVMContext::getDiagnosticHandler() const {
- return pImpl->DiagHandler;
+/// getInlineAsmDiagnosticHandler - Return the diagnostic handler set by
+/// setInlineAsmDiagnosticHandler.
+LLVMContext::InlineAsmDiagHandlerTy
+LLVMContext::getInlineAsmDiagnosticHandler() const {
+ return pImpl->InlineAsmDiagHandler;
}
-/// getDiagnosticContext - Return the diagnostic context set by
-/// setDiagnosticHandler.
-void *LLVMContext::getDiagnosticContext() const {
- return pImpl->DiagContext;
+/// getInlineAsmDiagnosticContext - Return the diagnostic context set by
+/// setInlineAsmDiagnosticHandler.
+void *LLVMContext::getInlineAsmDiagnosticContext() const {
+ return pImpl->InlineAsmDiagContext;
}
void LLVMContext::emitError(const Twine &ErrorStr) {
@@ -107,7 +109,7 @@ void LLVMContext::emitError(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->DiagHandler == 0) {
+ if (pImpl->InlineAsmDiagHandler == 0) {
errs() << "error: " << ErrorStr << "\n";
exit(1);
}
@@ -115,7 +117,7 @@ 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->DiagHandler(Diag, pImpl->DiagContext, LocCookie);
+ pImpl->InlineAsmDiagHandler(Diag, pImpl->InlineAsmDiagContext, LocCookie);
}
//===----------------------------------------------------------------------===//
diff --git a/lib/IR/LLVMContextImpl.cpp b/lib/IR/LLVMContextImpl.cpp
index 89e163f..6a6a4d6 100644
--- a/lib/IR/LLVMContextImpl.cpp
+++ b/lib/IR/LLVMContextImpl.cpp
@@ -35,8 +35,8 @@ LLVMContextImpl::LLVMContextImpl(LLVMContext &C)
Int16Ty(C, 16),
Int32Ty(C, 32),
Int64Ty(C, 64) {
- DiagHandler = 0;
- DiagContext = 0;
+ InlineAsmDiagHandler = 0;
+ InlineAsmDiagContext = 0;
NamedStructTypesUniqueID = 0;
}
diff --git a/lib/IR/LLVMContextImpl.h b/lib/IR/LLVMContextImpl.h
index cc7ca5e..7353dc0 100644
--- a/lib/IR/LLVMContextImpl.h
+++ b/lib/IR/LLVMContextImpl.h
@@ -236,8 +236,8 @@ public:
/// will be automatically deleted if this context is deleted.
SmallPtrSet<Module*, 4> OwnedModules;
- LLVMContext::DiagHandlerTy DiagHandler;
- void *DiagContext;
+ LLVMContext::InlineAsmDiagHandlerTy InlineAsmDiagHandler;
+ void *InlineAsmDiagContext;
typedef DenseMap<DenseMapAPIntKeyInfo::KeyTy, ConstantInt*,
DenseMapAPIntKeyInfo> IntMapTy;