1 -- This file is generated by SWIG. Do *not* modify by hand.
4 with Interfaces.C.Extensions;
7 package LLVM_link_time_Optimizer is
9 -- lto_symbol_attributes
11 type lto_symbol_attributes is (
12 LTO_SYMBOL_ALIGNMENT_MASK,
13 LTO_SYMBOL_PERMISSIONS_RODATA,
14 LTO_SYMBOL_PERMISSIONS_CODE,
15 LTO_SYMBOL_PERMISSIONS_DATA,
16 LTO_SYMBOL_PERMISSIONS_MASK,
17 LTO_SYMBOL_DEFINITION_REGULAR,
18 LTO_SYMBOL_DEFINITION_TENTATIVE,
19 LTO_SYMBOL_DEFINITION_WEAK,
20 LTO_SYMBOL_DEFINITION_UNDEFINED,
21 LTO_SYMBOL_DEFINITION_WEAKUNDEF,
22 LTO_SYMBOL_DEFINITION_MASK,
23 LTO_SYMBOL_SCOPE_INTERNAL,
24 LTO_SYMBOL_SCOPE_HIDDEN,
25 LTO_SYMBOL_SCOPE_DEFAULT,
26 LTO_SYMBOL_SCOPE_PROTECTED,
27 LTO_SYMBOL_SCOPE_MASK);
29 for lto_symbol_attributes use
30 (LTO_SYMBOL_ALIGNMENT_MASK => 31,
31 LTO_SYMBOL_PERMISSIONS_RODATA => 128,
32 LTO_SYMBOL_PERMISSIONS_CODE => 160,
33 LTO_SYMBOL_PERMISSIONS_DATA => 192,
34 LTO_SYMBOL_PERMISSIONS_MASK => 224,
35 LTO_SYMBOL_DEFINITION_REGULAR => 256,
36 LTO_SYMBOL_DEFINITION_TENTATIVE => 512,
37 LTO_SYMBOL_DEFINITION_WEAK => 768,
38 LTO_SYMBOL_DEFINITION_UNDEFINED => 1024,
39 LTO_SYMBOL_DEFINITION_WEAKUNDEF => 1280,
40 LTO_SYMBOL_DEFINITION_MASK => 1792,
41 LTO_SYMBOL_SCOPE_INTERNAL => 2048,
42 LTO_SYMBOL_SCOPE_HIDDEN => 4096,
43 LTO_SYMBOL_SCOPE_DEFAULT => 6144,
44 LTO_SYMBOL_SCOPE_PROTECTED => 8192,
45 LTO_SYMBOL_SCOPE_MASK => 14336);
47 pragma Convention (C, lto_symbol_attributes);
49 type lto_symbol_attributes_array is
50 array (Interfaces.C.size_t range <>)
51 of aliased LLVM_link_time_Optimizer.lto_symbol_attributes;
53 type lto_symbol_attributes_view is access all
54 LLVM_link_time_Optimizer.lto_symbol_attributes;
58 type lto_debug_model is (LTO_DEBUG_MODEL_NONE, LTO_DEBUG_MODEL_DWARF);
60 for lto_debug_model use
61 (LTO_DEBUG_MODEL_NONE => 0,
62 LTO_DEBUG_MODEL_DWARF => 1);
64 pragma Convention (C, lto_debug_model);
66 type lto_debug_model_array is
67 array (Interfaces.C.size_t range <>)
68 of aliased LLVM_link_time_Optimizer.lto_debug_model;
70 type lto_debug_model_view is access all
71 LLVM_link_time_Optimizer.lto_debug_model;
75 type lto_codegen_model is (
76 LTO_CODEGEN_PIC_MODEL_STATIC,
77 LTO_CODEGEN_PIC_MODEL_DYNAMIC,
78 LTO_CODEGEN_PIC_MODEL_DYNAMIC_NO_PIC);
80 for lto_codegen_model use
81 (LTO_CODEGEN_PIC_MODEL_STATIC => 0,
82 LTO_CODEGEN_PIC_MODEL_DYNAMIC => 1,
83 LTO_CODEGEN_PIC_MODEL_DYNAMIC_NO_PIC => 2);
85 pragma Convention (C, lto_codegen_model);
87 type lto_codegen_model_array is
88 array (Interfaces.C.size_t range <>)
89 of aliased LLVM_link_time_Optimizer.lto_codegen_model;
91 type lto_codegen_model_view is access all
92 LLVM_link_time_Optimizer.lto_codegen_model;
96 type LTOModule is new Interfaces.C.Extensions.opaque_structure_def;
98 type LTOModule_array is
99 array (Interfaces.C.size_t range <>)
100 of aliased LLVM_link_time_Optimizer.LTOModule;
102 type LTOModule_view is access all LLVM_link_time_Optimizer.LTOModule;
106 type lto_module_t is access all LLVM_link_time_Optimizer.LTOModule;
108 type lto_module_t_array is
109 array (Interfaces.C.size_t range <>)
110 of aliased LLVM_link_time_Optimizer.lto_module_t;
112 type lto_module_t_view is access all LLVM_link_time_Optimizer.lto_module_t;
116 type LTOCodeGenerator is new Interfaces.C.Extensions.opaque_structure_def;
118 type LTOCodeGenerator_array is
119 array (Interfaces.C.size_t range <>)
120 of aliased LLVM_link_time_Optimizer.LTOCodeGenerator;
122 type LTOCodeGenerator_view is access all
123 LLVM_link_time_Optimizer.LTOCodeGenerator;
127 type lto_code_gen_t is access all LLVM_link_time_Optimizer.LTOCodeGenerator;
129 type lto_code_gen_t_array is
130 array (Interfaces.C.size_t range <>)
131 of aliased LLVM_link_time_Optimizer.lto_code_gen_t;
133 type lto_code_gen_t_view is access all
134 LLVM_link_time_Optimizer.lto_code_gen_t;
138 type llvm_lto_status_t is (
140 LLVM_LTO_OPT_SUCCESS,
141 LLVM_LTO_READ_SUCCESS,
142 LLVM_LTO_READ_FAILURE,
143 LLVM_LTO_WRITE_FAILURE,
146 LLVM_LTO_MODULE_MERGE_FAILURE,
147 LLVM_LTO_ASM_FAILURE,
148 LLVM_LTO_NULL_OBJECT);
150 for llvm_lto_status_t use
151 (LLVM_LTO_UNKNOWN => 0,
152 LLVM_LTO_OPT_SUCCESS => 1,
153 LLVM_LTO_READ_SUCCESS => 2,
154 LLVM_LTO_READ_FAILURE => 3,
155 LLVM_LTO_WRITE_FAILURE => 4,
156 LLVM_LTO_NO_TARGET => 5,
157 LLVM_LTO_NO_WORK => 6,
158 LLVM_LTO_MODULE_MERGE_FAILURE => 7,
159 LLVM_LTO_ASM_FAILURE => 8,
160 LLVM_LTO_NULL_OBJECT => 9);
162 pragma Convention (C, llvm_lto_status_t);
164 type llvm_lto_status_t_array is
165 array (Interfaces.C.size_t range <>)
166 of aliased LLVM_link_time_Optimizer.llvm_lto_status_t;
168 type llvm_lto_status_t_view is access all
169 LLVM_link_time_Optimizer.llvm_lto_status_t;
174 type llvm_lto_t is access all Interfaces.C.Extensions.void;
176 type llvm_lto_t_array is
177 array (Interfaces.C.size_t range <>)
178 of aliased LLVM_link_time_Optimizer.llvm_lto_t;
180 type llvm_lto_t_view is access all
181 LLVM_link_time_Optimizer.llvm_lto_t;
184 end LLVM_link_time_Optimizer;