-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathLLVM.Imports.Error.pas
54 lines (43 loc) · 1.5 KB
/
LLVM.Imports.Error.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
unit LLVM.Imports.Error;
//based on Error.h
interface
uses LLVM.Imports ,
LLVM.Imports.Types;
type
(**
* Opaque reference to an error instance. Null serves as the 'success' value.
*)
TLLVMErrorRef = type TLLVMRef;
(**
* Error type identifier.
*)
TLLVMErrorTypeId = Pointer;
(**
* Returns the type id for the given error instance, which must be a failure
* value (i.e. non-null).
*)
function LLVMGetErrorTypeId(Err: TLLVMErrorRef): TLLVMErrorTypeId; cdecl; external CLLVMLibrary;
(*
* Dispose of the given error without handling it. This operation consumes the
* error, and the given LLVMErrorRef value is not usable once this call returns.
* Note: This method *only* needs to be called if the error is not being passed
* to some other consuming operation, e.g. LLVMGetErrorMessage.
*)
procedure LLVMConsumeError(Err: TLLVMErrorRef); cdecl; external CLLVMLibrary;
(*
* Returns the given string's error message. This operation consumes the error,
* and the given LLVMErrorRef value is not usable once this call returns.
* The caller is responsible for disposing of the string by calling
* LLVMDisposeErrorMessage.
*)
function LLVMGetErrorMessage( Err: TLLVMErrorRef):PLLVMChar;cdecl; external CLLVMLibrary;
(*
* Dispose of the given error message.
*)
procedure LLVMDisposeErrorMessage(ErrMsg: PLLVMChar); cdecl; external CLLVMLibrary;
(*
* Returns the type id for llvm StringError.
*)
function LLVMGetStringErrorTypeId: TLLVMErrorTypeId; cdecl; external CLLVMLibrary;
implementation
end.