1 -- This file is generated by SWIG. Do *not* modify by hand.
4 with Interfaces.C.Extensions;
11 type LLVMCtxt is new Interfaces.C.Extensions.opaque_structure_def;
13 type LLVMCtxt_array is
14 array (Interfaces.C.size_t range <>) of aliased llvm.LLVMCtxt;
16 type LLVMCtxt_view is access all llvm.LLVMCtxt;
20 type LLVMContextRef is access all llvm.LLVMCtxt;
22 type LLVMContextRef_array is
23 array (Interfaces.C.size_t range <>) of aliased llvm.LLVMContextRef;
25 type LLVMContextRef_view is access all llvm.LLVMContextRef;
29 type LLVMOpaqueModule is new Interfaces.C.Extensions.opaque_structure_def;
31 type LLVMOpaqueModule_array is
32 array (Interfaces.C.size_t range <>) of aliased llvm.LLVMOpaqueModule;
34 type LLVMOpaqueModule_view is access all llvm.LLVMOpaqueModule;
38 type LLVMModuleRef is access all llvm.LLVMOpaqueModule;
40 type LLVMModuleRef_array is
41 array (Interfaces.C.size_t range <>) of aliased llvm.LLVMModuleRef;
43 type LLVMModuleRef_view is access all llvm.LLVMModuleRef;
47 type LLVMOpaqueType is new Interfaces.C.Extensions.opaque_structure_def;
49 type LLVMOpaqueType_array is
50 array (Interfaces.C.size_t range <>) of aliased llvm.LLVMOpaqueType;
52 type LLVMOpaqueType_view is access all llvm.LLVMOpaqueType;
56 type LLVMTypeRef is access all llvm.LLVMOpaqueType;
58 type LLVMTypeRef_array is
59 array (Interfaces.C.size_t range <>) of aliased llvm.LLVMTypeRef;
61 type LLVMTypeRef_view is access all llvm.LLVMTypeRef;
63 -- LLVMOpaqueTypeHandle
65 type LLVMOpaqueTypeHandle is new
66 Interfaces.C.Extensions.opaque_structure_def;
68 type LLVMOpaqueTypeHandle_array is
69 array (Interfaces.C.size_t range <>)
70 of aliased llvm.LLVMOpaqueTypeHandle;
72 type LLVMOpaqueTypeHandle_view is access all llvm.LLVMOpaqueTypeHandle;
76 type LLVMTypeHandleRef is access all llvm.LLVMOpaqueTypeHandle;
78 type LLVMTypeHandleRef_array is
79 array (Interfaces.C.size_t range <>)
80 of aliased llvm.LLVMTypeHandleRef;
82 type LLVMTypeHandleRef_view is access all llvm.LLVMTypeHandleRef;
86 type LLVMOpaqueValue is new Interfaces.C.Extensions.opaque_structure_def;
88 type LLVMOpaqueValue_array is
89 array (Interfaces.C.size_t range <>) of aliased llvm.LLVMOpaqueValue;
91 type LLVMOpaqueValue_view is access all llvm.LLVMOpaqueValue;
95 type LLVMValueRef is access all llvm.LLVMOpaqueValue;
97 type LLVMValueRef_array is
98 array (Interfaces.C.size_t range <>) of aliased llvm.LLVMValueRef;
100 type LLVMValueRef_view is access all llvm.LLVMValueRef;
102 -- LLVMOpaqueBasicBlock
104 type LLVMOpaqueBasicBlock is new
105 Interfaces.C.Extensions.opaque_structure_def;
107 type LLVMOpaqueBasicBlock_array is
108 array (Interfaces.C.size_t range <>)
109 of aliased llvm.LLVMOpaqueBasicBlock;
111 type LLVMOpaqueBasicBlock_view is access all llvm.LLVMOpaqueBasicBlock;
115 type LLVMBasicBlockRef is access all llvm.LLVMOpaqueBasicBlock;
117 type LLVMBasicBlockRef_array is
118 array (Interfaces.C.size_t range <>)
119 of aliased llvm.LLVMBasicBlockRef;
121 type LLVMBasicBlockRef_view is access all llvm.LLVMBasicBlockRef;
125 type LLVMOpaqueBuilder is new Interfaces.C.Extensions.opaque_structure_def;
127 type LLVMOpaqueBuilder_array is
128 array (Interfaces.C.size_t range <>)
129 of aliased llvm.LLVMOpaqueBuilder;
131 type LLVMOpaqueBuilder_view is access all llvm.LLVMOpaqueBuilder;
135 type LLVMBuilderRef is access all llvm.LLVMOpaqueBuilder;
137 type LLVMBuilderRef_array is
138 array (Interfaces.C.size_t range <>) of aliased llvm.LLVMBuilderRef;
140 type LLVMBuilderRef_view is access all llvm.LLVMBuilderRef;
142 -- LLVMOpaqueModuleProvider
144 type LLVMOpaqueModuleProvider is new
145 Interfaces.C.Extensions.opaque_structure_def;
147 type LLVMOpaqueModuleProvider_array is
148 array (Interfaces.C.size_t range <>)
149 of aliased llvm.LLVMOpaqueModuleProvider;
151 type LLVMOpaqueModuleProvider_view is access all
152 llvm.LLVMOpaqueModuleProvider;
154 -- LLVMModuleProviderRef
156 type LLVMModuleProviderRef is access all llvm.LLVMOpaqueModuleProvider;
158 type LLVMModuleProviderRef_array is
159 array (Interfaces.C.size_t range <>)
160 of aliased llvm.LLVMModuleProviderRef;
162 type LLVMModuleProviderRef_view is access all llvm.LLVMModuleProviderRef;
164 -- LLVMOpaqueMemoryBuffer
166 type LLVMOpaqueMemoryBuffer is new
167 Interfaces.C.Extensions.opaque_structure_def;
169 type LLVMOpaqueMemoryBuffer_array is
170 array (Interfaces.C.size_t range <>)
171 of aliased llvm.LLVMOpaqueMemoryBuffer;
173 type LLVMOpaqueMemoryBuffer_view is access all llvm.LLVMOpaqueMemoryBuffer;
175 -- LLVMMemoryBufferRef
177 type LLVMMemoryBufferRef is access all llvm.LLVMOpaqueMemoryBuffer;
179 type LLVMMemoryBufferRef_array is
180 array (Interfaces.C.size_t range <>)
181 of aliased llvm.LLVMMemoryBufferRef;
183 type LLVMMemoryBufferRef_view is access all llvm.LLVMMemoryBufferRef;
185 -- LLVMOpaquePassManager
187 type LLVMOpaquePassManager is new
188 Interfaces.C.Extensions.opaque_structure_def;
190 type LLVMOpaquePassManager_array is
191 array (Interfaces.C.size_t range <>)
192 of aliased llvm.LLVMOpaquePassManager;
194 type LLVMOpaquePassManager_view is access all llvm.LLVMOpaquePassManager;
196 -- LLVMPassManagerRef
198 type LLVMPassManagerRef is access all llvm.LLVMOpaquePassManager;
200 type LLVMPassManagerRef_array is
201 array (Interfaces.C.size_t range <>)
202 of aliased llvm.LLVMPassManagerRef;
204 type LLVMPassManagerRef_view is access all llvm.LLVMPassManagerRef;
208 type LLVMAttribute is (
211 LLVMNoReturnAttribute,
213 LLVMStructRetAttribute,
214 LLVMNoUnwindAttribute,
215 LLVMNoAliasAttribute,
218 LLVMReadNoneAttribute,
219 LLVMReadOnlyAttribute,
220 LLVMNoInlineAttribute,
221 LLVMAlwaysInlineAttribute,
222 LLVMOptimizeForSizeAttribute,
223 LLVMStackProtectAttribute,
224 LLVMStackProtectReqAttribute,
225 LLVMNoCaptureAttribute,
226 LLVMNoRedZoneAttribute,
227 LLVMNoImplicitFloatAttribute,
230 for LLVMAttribute use
231 (LLVMZExtAttribute => 1,
232 LLVMSExtAttribute => 2,
233 LLVMNoReturnAttribute => 4,
234 LLVMInRegAttribute => 8,
235 LLVMStructRetAttribute => 16,
236 LLVMNoUnwindAttribute => 32,
237 LLVMNoAliasAttribute => 64,
238 LLVMByValAttribute => 128,
239 LLVMNestAttribute => 256,
240 LLVMReadNoneAttribute => 512,
241 LLVMReadOnlyAttribute => 1024,
242 LLVMNoInlineAttribute => 2048,
243 LLVMAlwaysInlineAttribute => 4096,
244 LLVMOptimizeForSizeAttribute => 8192,
245 LLVMStackProtectAttribute => 16384,
246 LLVMStackProtectReqAttribute => 32768,
247 LLVMNoCaptureAttribute => 2097152,
248 LLVMNoRedZoneAttribute => 4194304,
249 LLVMNoImplicitFloatAttribute => 8388608,
250 LLVMNakedAttribute => 16777216);
252 pragma Convention (C, LLVMAttribute);
254 type LLVMAttribute_array is
255 array (Interfaces.C.size_t range <>) of aliased llvm.LLVMAttribute;
257 type LLVMAttribute_view is access all llvm.LLVMAttribute;
261 type LLVMTypeKind is (
265 LLVMX86_FP80TypeKind,
267 LLVMPPC_FP128TypeKind,
270 LLVMFunctionTypeKind,
276 LLVMMetadataTypeKind);
279 (LLVMVoidTypeKind => 0,
280 LLVMFloatTypeKind => 1,
281 LLVMDoubleTypeKind => 2,
282 LLVMX86_FP80TypeKind => 3,
283 LLVMFP128TypeKind => 4,
284 LLVMPPC_FP128TypeKind => 5,
285 LLVMLabelTypeKind => 6,
286 LLVMIntegerTypeKind => 7,
287 LLVMFunctionTypeKind => 8,
288 LLVMStructTypeKind => 9,
289 LLVMArrayTypeKind => 10,
290 LLVMPointerTypeKind => 11,
291 LLVMOpaqueTypeKind => 12,
292 LLVMVectorTypeKind => 13,
293 LLVMMetadataTypeKind => 14);
295 pragma Convention (C, LLVMTypeKind);
297 type LLVMTypeKind_array is
298 array (Interfaces.C.size_t range <>) of aliased llvm.LLVMTypeKind;
300 type LLVMTypeKind_view is access all llvm.LLVMTypeKind;
304 type LLVMLinkage is (
306 LLVMAvailableExternallyLinkage,
307 LLVMLinkOnceAnyLinkage,
308 LLVMLinkOnceODRLinkage,
311 LLVMAppendingLinkage,
314 LLVMDLLImportLinkage,
315 LLVMDLLExportLinkage,
316 LLVMExternalWeakLinkage,
319 LLVMLinkerPrivateLinkage);
322 (LLVMExternalLinkage => 0,
323 LLVMAvailableExternallyLinkage => 1,
324 LLVMLinkOnceAnyLinkage => 2,
325 LLVMLinkOnceODRLinkage => 3,
326 LLVMWeakAnyLinkage => 4,
327 LLVMWeakODRLinkage => 5,
328 LLVMAppendingLinkage => 6,
329 LLVMInternalLinkage => 7,
330 LLVMPrivateLinkage => 8,
331 LLVMDLLImportLinkage => 9,
332 LLVMDLLExportLinkage => 10,
333 LLVMExternalWeakLinkage => 11,
334 LLVMGhostLinkage => 12,
335 LLVMCommonLinkage => 13,
336 LLVMLinkerPrivateLinkage => 14);
338 pragma Convention (C, LLVMLinkage);
340 type LLVMLinkage_array is
341 array (Interfaces.C.size_t range <>) of aliased llvm.LLVMLinkage;
343 type LLVMLinkage_view is access all llvm.LLVMLinkage;
347 type LLVMVisibility is (
348 LLVMDefaultVisibility,
349 LLVMHiddenVisibility,
350 LLVMProtectedVisibility);
352 for LLVMVisibility use
353 (LLVMDefaultVisibility => 0,
354 LLVMHiddenVisibility => 1,
355 LLVMProtectedVisibility => 2);
357 pragma Convention (C, LLVMVisibility);
359 type LLVMVisibility_array is
360 array (Interfaces.C.size_t range <>) of aliased llvm.LLVMVisibility;
362 type LLVMVisibility_view is access all llvm.LLVMVisibility;
366 type LLVMCallConv is (
370 LLVMX86StdcallCallConv,
371 LLVMX86FastcallCallConv);
375 LLVMFastCallConv => 8,
376 LLVMColdCallConv => 9,
377 LLVMX86StdcallCallConv => 64,
378 LLVMX86FastcallCallConv => 65);
380 pragma Convention (C, LLVMCallConv);
382 type LLVMCallConv_array is
383 array (Interfaces.C.size_t range <>) of aliased llvm.LLVMCallConv;
385 type LLVMCallConv_view is access all llvm.LLVMCallConv;
389 type LLVMIntPredicate is (
401 for LLVMIntPredicate use
413 pragma Convention (C, LLVMIntPredicate);
415 type LLVMIntPredicate_array is
416 array (Interfaces.C.size_t range <>) of aliased llvm.LLVMIntPredicate;
418 type LLVMIntPredicate_view is access all llvm.LLVMIntPredicate;
422 type LLVMRealPredicate is (
423 LLVMRealPredicateFalse,
438 LLVMRealPredicateTrue);
440 for LLVMRealPredicate use
441 (LLVMRealPredicateFalse => 0,
456 LLVMRealPredicateTrue => 15);
458 pragma Convention (C, LLVMRealPredicate);
460 type LLVMRealPredicate_array is
461 array (Interfaces.C.size_t range <>)
462 of aliased llvm.LLVMRealPredicate;
464 type LLVMRealPredicate_view is access all llvm.LLVMRealPredicate;
468 type ModuleProvider is new Interfaces.C.Extensions.incomplete_class_def;
470 type ModuleProvider_array is
471 array (Interfaces.C.size_t range <>) of aliased llvm.ModuleProvider;
473 type ModuleProvider_view is access all llvm.ModuleProvider;
477 type MemoryBuffer is new Interfaces.C.Extensions.incomplete_class_def;
479 type MemoryBuffer_array is
480 array (Interfaces.C.size_t range <>) of aliased llvm.MemoryBuffer;
482 type MemoryBuffer_view is access all llvm.MemoryBuffer;
486 type PassManagerBase is new Interfaces.C.Extensions.incomplete_class_def;
488 type PassManagerBase_array is
489 array (Interfaces.C.size_t range <>) of aliased llvm.PassManagerBase;
491 type PassManagerBase_view is access all llvm.PassManagerBase;