LLVM Ada language bindings. Credit to Rod Kay and the AuroraUX team.
[oota-llvm.git] / bindings / ada / executionengine / llvm_execution_engine-binding.ads
1 -- This file is generated by SWIG. Do *not* modify by hand.
2 --
3
4 with llvm;
5 with Interfaces.C.Strings;
6
7
8 package LLVM_execution_Engine.Binding is
9
10    procedure LLVMLinkInJIT;
11
12    procedure LLVMLinkInInterpreter;
13
14    function LLVMCreateGenericValueOfInt
15      (Ty       : in llvm.LLVMTypeRef;
16       N        : in Interfaces.C.Extensions.unsigned_long_long;
17       IsSigned : in Interfaces.C.int)
18       return     LLVM_execution_Engine.LLVMGenericValueRef;
19
20    function LLVMCreateGenericValueOfPointer
21      (P    : access Interfaces.C.Extensions.void)
22       return LLVM_execution_Engine.LLVMGenericValueRef;
23
24    function LLVMCreateGenericValueOfFloat
25      (Ty   : in llvm.LLVMTypeRef;
26       N    : in Interfaces.C.double)
27       return LLVM_execution_Engine.LLVMGenericValueRef;
28
29    function LLVMGenericValueIntWidth
30      (GenValRef : in LLVM_execution_Engine.LLVMGenericValueRef)
31       return      Interfaces.C.unsigned;
32
33    function LLVMGenericValueToInt
34      (GenVal   : in LLVM_execution_Engine.LLVMGenericValueRef;
35       IsSigned : in Interfaces.C.int)
36       return     Interfaces.C.Extensions.unsigned_long_long;
37
38    function LLVMGenericValueToPointer
39      (GenVal : in LLVM_execution_Engine.LLVMGenericValueRef)
40       return   access Interfaces.C.Extensions.void;
41
42    function LLVMGenericValueToFloat
43      (TyRef  : in llvm.LLVMTypeRef;
44       GenVal : in LLVM_execution_Engine.LLVMGenericValueRef)
45       return   Interfaces.C.double;
46
47    procedure LLVMDisposeGenericValue
48      (GenVal : in LLVM_execution_Engine.LLVMGenericValueRef);
49
50    function LLVMCreateExecutionEngine
51      (OutEE    : access LLVM_execution_Engine.LLVMExecutionEngineRef;
52       MP       : in llvm.LLVMModuleProviderRef;
53       OutError : access Interfaces.C.Strings.chars_ptr)
54       return     Interfaces.C.int;
55
56    function LLVMCreateInterpreter
57      (OutInterp : access LLVM_execution_Engine.LLVMExecutionEngineRef;
58       MP        : in llvm.LLVMModuleProviderRef;
59       OutError  : access Interfaces.C.Strings.chars_ptr)
60       return      Interfaces.C.int;
61
62    function LLVMCreateJITCompiler
63      (OutJIT   : access LLVM_execution_Engine.LLVMExecutionEngineRef;
64       MP       : in llvm.LLVMModuleProviderRef;
65       OptLevel : in Interfaces.C.unsigned;
66       OutError : access Interfaces.C.Strings.chars_ptr)
67       return     Interfaces.C.int;
68
69    procedure LLVMDisposeExecutionEngine
70      (EE : in LLVM_execution_Engine.LLVMExecutionEngineRef);
71
72    procedure LLVMRunStaticConstructors
73      (EE : in LLVM_execution_Engine.LLVMExecutionEngineRef);
74
75    procedure LLVMRunStaticDestructors
76      (EE : in LLVM_execution_Engine.LLVMExecutionEngineRef);
77
78    function LLVMRunFunctionAsMain
79      (EE   : in LLVM_execution_Engine.LLVMExecutionEngineRef;
80       F    : in llvm.LLVMValueRef;
81       ArgC : in Interfaces.C.unsigned;
82       ArgV : access Interfaces.C.Strings.chars_ptr;
83       EnvP : access Interfaces.C.Strings.chars_ptr)
84       return Interfaces.C.int;
85
86    function LLVMRunFunction
87      (EE      : in LLVM_execution_Engine.LLVMExecutionEngineRef;
88       F       : in llvm.LLVMValueRef;
89       NumArgs : in Interfaces.C.unsigned;
90       Args    : access LLVM_execution_Engine.LLVMGenericValueRef)
91       return    LLVM_execution_Engine.LLVMGenericValueRef;
92
93    procedure LLVMFreeMachineCodeForFunction
94      (EE : in LLVM_execution_Engine.LLVMExecutionEngineRef;
95       F  : in llvm.LLVMValueRef);
96
97    procedure LLVMAddModuleProvider
98      (EE : in LLVM_execution_Engine.LLVMExecutionEngineRef;
99       MP : in llvm.LLVMModuleProviderRef);
100
101    function LLVMRemoveModuleProvider
102      (EE       : in LLVM_execution_Engine.LLVMExecutionEngineRef;
103       MP       : in llvm.LLVMModuleProviderRef;
104       OutMod   : access llvm.LLVMModuleRef;
105       OutError : access Interfaces.C.Strings.chars_ptr)
106       return     Interfaces.C.int;
107
108    function LLVMFindFunction
109      (EE    : in LLVM_execution_Engine.LLVMExecutionEngineRef;
110       Name  : in Interfaces.C.Strings.chars_ptr;
111       OutFn : access llvm.LLVMValueRef)
112       return  Interfaces.C.int;
113
114    function LLVMGetExecutionEngineTargetData
115      (EE   : in LLVM_execution_Engine.LLVMExecutionEngineRef)
116       return LLVM_execution_Engine.LLVMTargetDataRef;
117
118    procedure LLVMAddGlobalMapping
119      (EE     : in LLVM_execution_Engine.LLVMExecutionEngineRef;
120       Global : in llvm.LLVMValueRef;
121       Addr   : access Interfaces.C.Extensions.void);
122
123    function LLVMGetPointerToGlobal
124      (EE     : in LLVM_execution_Engine.LLVMExecutionEngineRef;
125       Global : in llvm.LLVMValueRef)
126       return   access Interfaces.C.Extensions.void;
127
128 private
129
130    pragma Import (C, LLVMLinkInJIT, "Ada_LLVMLinkInJIT");
131    pragma Import (C, LLVMLinkInInterpreter, "Ada_LLVMLinkInInterpreter");
132    pragma Import
133      (C,
134       LLVMCreateGenericValueOfInt,
135       "Ada_LLVMCreateGenericValueOfInt");
136    pragma Import
137      (C,
138       LLVMCreateGenericValueOfPointer,
139       "Ada_LLVMCreateGenericValueOfPointer");
140    pragma Import
141      (C,
142       LLVMCreateGenericValueOfFloat,
143       "Ada_LLVMCreateGenericValueOfFloat");
144    pragma Import
145      (C,
146       LLVMGenericValueIntWidth,
147       "Ada_LLVMGenericValueIntWidth");
148    pragma Import (C, LLVMGenericValueToInt, "Ada_LLVMGenericValueToInt");
149    pragma Import
150      (C,
151       LLVMGenericValueToPointer,
152       "Ada_LLVMGenericValueToPointer");
153    pragma Import (C, LLVMGenericValueToFloat, "Ada_LLVMGenericValueToFloat");
154    pragma Import (C, LLVMDisposeGenericValue, "Ada_LLVMDisposeGenericValue");
155    pragma Import
156      (C,
157       LLVMCreateExecutionEngine,
158       "Ada_LLVMCreateExecutionEngine");
159    pragma Import (C, LLVMCreateInterpreter, "Ada_LLVMCreateInterpreter");
160    pragma Import (C, LLVMCreateJITCompiler, "Ada_LLVMCreateJITCompiler");
161    pragma Import
162      (C,
163       LLVMDisposeExecutionEngine,
164       "Ada_LLVMDisposeExecutionEngine");
165    pragma Import
166      (C,
167       LLVMRunStaticConstructors,
168       "Ada_LLVMRunStaticConstructors");
169    pragma Import
170      (C,
171       LLVMRunStaticDestructors,
172       "Ada_LLVMRunStaticDestructors");
173    pragma Import (C, LLVMRunFunctionAsMain, "Ada_LLVMRunFunctionAsMain");
174    pragma Import (C, LLVMRunFunction, "Ada_LLVMRunFunction");
175    pragma Import
176      (C,
177       LLVMFreeMachineCodeForFunction,
178       "Ada_LLVMFreeMachineCodeForFunction");
179    pragma Import (C, LLVMAddModuleProvider, "Ada_LLVMAddModuleProvider");
180    pragma Import
181      (C,
182       LLVMRemoveModuleProvider,
183       "Ada_LLVMRemoveModuleProvider");
184    pragma Import (C, LLVMFindFunction, "Ada_LLVMFindFunction");
185    pragma Import
186      (C,
187       LLVMGetExecutionEngineTargetData,
188       "Ada_LLVMGetExecutionEngineTargetData");
189    pragma Import (C, LLVMAddGlobalMapping, "Ada_LLVMAddGlobalMapping");
190    pragma Import (C, LLVMGetPointerToGlobal, "Ada_LLVMGetPointerToGlobal");
191
192 end LLVM_execution_Engine.Binding;