mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-26 09:18:56 +00:00
Added new functionality to LLVM C API to use DiagnosticInfo to handle errors
Patch by: Darren Powell git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206407 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -124,6 +124,12 @@ typedef struct LLVMOpaquePassRegistry *LLVMPassRegistryRef;
|
||||
* @see llvm::Use */
|
||||
typedef struct LLVMOpaqueUse *LLVMUseRef;
|
||||
|
||||
|
||||
/**
|
||||
* @see llvm::DiagnosticInfo
|
||||
*/
|
||||
typedef struct LLVMOpaqueDiagnosticInfo *LLVMDiagnosticInfoRef;
|
||||
|
||||
typedef enum {
|
||||
LLVMZExtAttribute = 1<<0,
|
||||
LLVMSExtAttribute = 1<<1,
|
||||
@@ -400,6 +406,13 @@ typedef enum {
|
||||
the old one */
|
||||
} LLVMAtomicRMWBinOp;
|
||||
|
||||
typedef enum {
|
||||
LLVMDSError,
|
||||
LLVMDSWarning,
|
||||
LLVMDSRemark,
|
||||
LLVMDSNote
|
||||
} LLVMDiagnosticSeverity;
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
@@ -453,6 +466,8 @@ void LLVMEnablePrettyStackTrace(void);
|
||||
* @{
|
||||
*/
|
||||
|
||||
typedef void (*LLVMDiagnosticHandler)(LLVMDiagnosticInfoRef, void *);
|
||||
|
||||
/**
|
||||
* Create a new context.
|
||||
*
|
||||
@@ -466,6 +481,13 @@ LLVMContextRef LLVMContextCreate(void);
|
||||
*/
|
||||
LLVMContextRef LLVMGetGlobalContext(void);
|
||||
|
||||
/**
|
||||
* Set the diagnostic handler for this context.
|
||||
*/
|
||||
void LLVMContextSetDiagnosticHandler(LLVMContextRef C,
|
||||
LLVMDiagnosticHandler Handler,
|
||||
void *DiagnosticContext);
|
||||
|
||||
/**
|
||||
* Destroy a context instance.
|
||||
*
|
||||
@@ -474,6 +496,21 @@ LLVMContextRef LLVMGetGlobalContext(void);
|
||||
*/
|
||||
void LLVMContextDispose(LLVMContextRef C);
|
||||
|
||||
/**
|
||||
* Return a string representation of the DiagnosticInfo. Use
|
||||
* LLVMDisposeMessage to free the string.
|
||||
*
|
||||
* @see DiagnosticInfo::print()
|
||||
*/
|
||||
char *LLVMGetDiagInfoDescription(LLVMDiagnosticInfoRef DI);
|
||||
|
||||
/**
|
||||
* Return an enum LLVMDiagnosticSeverity.
|
||||
*
|
||||
* @see DiagnosticInfo::getSeverity()
|
||||
*/
|
||||
LLVMDiagnosticSeverity LLVMGetDiagInfoSeverity(LLVMDiagnosticInfoRef DI);
|
||||
|
||||
unsigned LLVMGetMDKindIDInContext(LLVMContextRef C, const char* Name,
|
||||
unsigned SLen);
|
||||
unsigned LLVMGetMDKindID(const char* Name, unsigned SLen);
|
||||
|
Reference in New Issue
Block a user