LLVM Ada language bindings. Credit to Rod Kay and the AuroraUX team.
[oota-llvm.git] / bindings / ada / target / llvm_target_wrap.cxx
1 /* ----------------------------------------------------------------------------
2  * This file was automatically generated by SWIG (http://www.swig.org).
3  * Version 1.3.36
4  * 
5  * This file is not intended to be easily readable and contains a number of 
6  * coding conventions designed to improve portability and efficiency. Do not make
7  * changes to this file unless you know what you are doing--modify the SWIG 
8  * interface file instead. 
9  * ----------------------------------------------------------------------------- */
10
11
12 #ifdef __cplusplus
13 template<typename T> class SwigValueWrapper {
14     T *tt;
15 public:
16     SwigValueWrapper() : tt(0) { }
17     SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
18     SwigValueWrapper(const T& t) : tt(new T(t)) { }
19     ~SwigValueWrapper() { delete tt; } 
20     SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
21     operator T&() const { return *tt; }
22     T *operator&() { return tt; }
23 private:
24     SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
25 };
26
27 template <typename T> T SwigValueInit() {
28   return T();
29 }
30 #endif
31
32 /* -----------------------------------------------------------------------------
33  *  This section contains generic SWIG labels for method/variable
34  *  declarations/attributes, and other compiler dependent labels.
35  * ----------------------------------------------------------------------------- */
36
37 /* template workaround for compilers that cannot correctly implement the C++ standard */
38 #ifndef SWIGTEMPLATEDISAMBIGUATOR
39 # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
40 #  define SWIGTEMPLATEDISAMBIGUATOR template
41 # elif defined(__HP_aCC)
42 /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
43 /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
44 #  define SWIGTEMPLATEDISAMBIGUATOR template
45 # else
46 #  define SWIGTEMPLATEDISAMBIGUATOR
47 # endif
48 #endif
49
50 /* inline attribute */
51 #ifndef SWIGINLINE
52 # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
53 #   define SWIGINLINE inline
54 # else
55 #   define SWIGINLINE
56 # endif
57 #endif
58
59 /* attribute recognised by some compilers to avoid 'unused' warnings */
60 #ifndef SWIGUNUSED
61 # if defined(__GNUC__)
62 #   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
63 #     define SWIGUNUSED __attribute__ ((__unused__)) 
64 #   else
65 #     define SWIGUNUSED
66 #   endif
67 # elif defined(__ICC)
68 #   define SWIGUNUSED __attribute__ ((__unused__)) 
69 # else
70 #   define SWIGUNUSED 
71 # endif
72 #endif
73
74 #ifndef SWIGUNUSEDPARM
75 # ifdef __cplusplus
76 #   define SWIGUNUSEDPARM(p)
77 # else
78 #   define SWIGUNUSEDPARM(p) p SWIGUNUSED 
79 # endif
80 #endif
81
82 /* internal SWIG method */
83 #ifndef SWIGINTERN
84 # define SWIGINTERN static SWIGUNUSED
85 #endif
86
87 /* internal inline SWIG method */
88 #ifndef SWIGINTERNINLINE
89 # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
90 #endif
91
92 /* exporting methods */
93 #if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
94 #  ifndef GCC_HASCLASSVISIBILITY
95 #    define GCC_HASCLASSVISIBILITY
96 #  endif
97 #endif
98
99 #ifndef SWIGEXPORT
100 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
101 #   if defined(STATIC_LINKED)
102 #     define SWIGEXPORT
103 #   else
104 #     define SWIGEXPORT __declspec(dllexport)
105 #   endif
106 # else
107 #   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
108 #     define SWIGEXPORT __attribute__ ((visibility("default")))
109 #   else
110 #     define SWIGEXPORT
111 #   endif
112 # endif
113 #endif
114
115 /* calling conventions for Windows */
116 #ifndef SWIGSTDCALL
117 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
118 #   define SWIGSTDCALL __stdcall
119 # else
120 #   define SWIGSTDCALL
121 # endif 
122 #endif
123
124 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
125 #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
126 # define _CRT_SECURE_NO_DEPRECATE
127 #endif
128
129 /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
130 #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
131 # define _SCL_SECURE_NO_DEPRECATE
132 #endif
133
134
135
136 #include <stdlib.h>
137 #include <string.h>
138 #include <stdio.h>
139 #if defined(_WIN32) || defined(__CYGWIN32__)
140 #  define DllExport   __declspec( dllexport )
141 #  define SWIGSTDCALL __stdcall
142 #else
143 #  define DllExport  
144 #  define SWIGSTDCALL
145 #endif 
146
147
148 #ifdef __cplusplus
149 #  include <new>
150 #endif
151
152
153
154
155 /* Support for throwing Ada exceptions from C/C++ */
156
157 typedef enum 
158 {
159   SWIG_AdaException,
160   SWIG_AdaOutOfMemoryException,
161   SWIG_AdaIndexOutOfRangeException,
162   SWIG_AdaDivideByZeroException,
163   SWIG_AdaArgumentOutOfRangeException,
164   SWIG_AdaNullReferenceException
165 } SWIG_AdaExceptionCodes;
166
167
168 typedef void (SWIGSTDCALL* SWIG_AdaExceptionCallback_t)(const char *);
169
170
171 typedef struct 
172 {
173   SWIG_AdaExceptionCodes code;
174   SWIG_AdaExceptionCallback_t callback;
175
176   SWIG_AdaExceptions_t;
177
178
179 static 
180 SWIG_AdaExceptions_t 
181 SWIG_ada_exceptions[] = 
182 {
183   { SWIG_AdaException, NULL },
184   { SWIG_AdaOutOfMemoryException, NULL },
185   { SWIG_AdaIndexOutOfRangeException, NULL },
186   { SWIG_AdaDivideByZeroException, NULL },
187   { SWIG_AdaArgumentOutOfRangeException, NULL },
188   { SWIG_AdaNullReferenceException, NULL } 
189 };
190
191
192 static 
193 void 
194 SWIG_AdaThrowException (SWIG_AdaExceptionCodes code, const char *msg) 
195 {
196   SWIG_AdaExceptionCallback_t callback = SWIG_ada_exceptions[SWIG_AdaException].callback;
197   if (code >=0 && (size_t)code < sizeof(SWIG_ada_exceptions)/sizeof(SWIG_AdaExceptions_t)) {
198     callback = SWIG_ada_exceptions[code].callback;
199   }
200   callback(msg);
201 }
202
203
204
205 #ifdef __cplusplus
206 extern "C" 
207 #endif
208
209 DllExport void SWIGSTDCALL SWIGRegisterExceptionCallbacks_LLVM_Target (SWIG_AdaExceptionCallback_t systemException,
210                                                                    SWIG_AdaExceptionCallback_t outOfMemory, 
211                                                                    SWIG_AdaExceptionCallback_t indexOutOfRange, 
212                                                                    SWIG_AdaExceptionCallback_t divideByZero, 
213                                                                    SWIG_AdaExceptionCallback_t argumentOutOfRange,
214                                                                    SWIG_AdaExceptionCallback_t nullReference) 
215 {
216   SWIG_ada_exceptions [SWIG_AdaException].callback                   = systemException;
217   SWIG_ada_exceptions [SWIG_AdaOutOfMemoryException].callback        = outOfMemory;
218   SWIG_ada_exceptions [SWIG_AdaIndexOutOfRangeException].callback    = indexOutOfRange;
219   SWIG_ada_exceptions [SWIG_AdaDivideByZeroException].callback       = divideByZero;
220   SWIG_ada_exceptions [SWIG_AdaArgumentOutOfRangeException].callback = argumentOutOfRange;
221   SWIG_ada_exceptions [SWIG_AdaNullReferenceException].callback      = nullReference;
222 }
223
224
225 /* Callback for returning strings to Ada without leaking memory */
226
227 typedef char * (SWIGSTDCALL* SWIG_AdaStringHelperCallback)(const char *);
228 static SWIG_AdaStringHelperCallback SWIG_ada_string_callback = NULL;
229
230
231
232 /* probably obsolete ...
233 #ifdef __cplusplus
234 extern "C" 
235 #endif
236 DllExport void SWIGSTDCALL SWIGRegisterStringCallback_LLVM_Target(SWIG_AdaStringHelperCallback callback) {
237   SWIG_ada_string_callback = callback;
238 }
239 */
240
241
242
243 /* Contract support */
244
245 #define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_AdaThrowException(SWIG_AdaArgumentOutOfRangeException, msg); return nullreturn; } else
246
247
248 #define protected public
249 #define private   public
250
251 #include "llvm-c/Target.h"
252
253
254
255 //  struct LLVMCtxt;
256
257
258 #undef protected
259 #undef private
260 #ifdef __cplusplus 
261 extern "C" {
262 #endif
263 DllExport void SWIGSTDCALL Ada_LLVMInitializeAllTargets (
264   )
265 {
266   LLVMInitializeAllTargets();
267   
268   
269 }
270
271
272
273 DllExport int SWIGSTDCALL Ada_LLVMInitializeNativeTarget (
274   )
275 {
276   int jresult ;
277   int result;
278   
279   result = (int)LLVMInitializeNativeTarget();
280   jresult = result; 
281   
282   
283   
284   return jresult;
285   
286 }
287
288
289
290 DllExport void * SWIGSTDCALL Ada_LLVMCreateTargetData (
291   char * jarg1
292   )
293 {
294   void * jresult ;
295   char *arg1 = (char *) 0 ;
296   LLVMTargetDataRef result;
297   
298   arg1 = jarg1; 
299   
300   result = (LLVMTargetDataRef)LLVMCreateTargetData((char const *)arg1);
301   jresult = (void *) result;      
302   
303   
304   
305   return jresult;
306   
307 }
308
309
310
311 DllExport void SWIGSTDCALL Ada_LLVMAddTargetData (
312   void * jarg1
313   ,
314   
315   void * jarg2
316   )
317 {
318   LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
319   LLVMPassManagerRef arg2 = (LLVMPassManagerRef) 0 ;
320   
321   arg1 = (LLVMTargetDataRef)jarg1; 
322   
323   arg2 = (LLVMPassManagerRef)jarg2; 
324   
325   LLVMAddTargetData(arg1,arg2);
326   
327   
328 }
329
330
331
332 DllExport char * SWIGSTDCALL Ada_LLVMCopyStringRepOfTargetData (
333   void * jarg1
334   )
335 {
336   char * jresult ;
337   LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
338   char *result = 0 ;
339   
340   arg1 = (LLVMTargetDataRef)jarg1; 
341   
342   result = (char *)LLVMCopyStringRepOfTargetData(arg1);
343   jresult = result; 
344   
345   
346   
347   return jresult;
348   
349 }
350
351
352
353 DllExport int SWIGSTDCALL Ada_LLVMByteOrder (
354   void * jarg1
355   )
356 {
357   int jresult ;
358   LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
359   LLVMByteOrdering result;
360   
361   arg1 = (LLVMTargetDataRef)jarg1; 
362   
363   result = (LLVMByteOrdering)LLVMByteOrder(arg1);
364   jresult = result; 
365   
366   
367   
368   return jresult;
369   
370 }
371
372
373
374 DllExport unsigned int SWIGSTDCALL Ada_LLVMPointerSize (
375   void * jarg1
376   )
377 {
378   unsigned int jresult ;
379   LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
380   unsigned int result;
381   
382   arg1 = (LLVMTargetDataRef)jarg1; 
383   
384   result = (unsigned int)LLVMPointerSize(arg1);
385   jresult = result; 
386   
387   
388   
389   return jresult;
390   
391 }
392
393
394
395 DllExport void * SWIGSTDCALL Ada_LLVMIntPtrType (
396   void * jarg1
397   )
398 {
399   void * jresult ;
400   LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
401   LLVMTypeRef result;
402   
403   arg1 = (LLVMTargetDataRef)jarg1; 
404   
405   result = (LLVMTypeRef)LLVMIntPtrType(arg1);
406   jresult = (void *) result;      
407   
408   
409   
410   return jresult;
411   
412 }
413
414
415
416 DllExport unsigned long long SWIGSTDCALL Ada_LLVMSizeOfTypeInBits (
417   void * jarg1
418   ,
419   
420   void * jarg2
421   )
422 {
423   unsigned long long jresult ;
424   LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
425   LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
426   unsigned long long result;
427   
428   arg1 = (LLVMTargetDataRef)jarg1; 
429   
430   arg2 = (LLVMTypeRef)jarg2; 
431   
432   result = (unsigned long long)LLVMSizeOfTypeInBits(arg1,arg2);
433   jresult = result; 
434   
435   
436   
437   return jresult;
438   
439 }
440
441
442
443 DllExport unsigned long long SWIGSTDCALL Ada_LLVMStoreSizeOfType (
444   void * jarg1
445   ,
446   
447   void * jarg2
448   )
449 {
450   unsigned long long jresult ;
451   LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
452   LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
453   unsigned long long result;
454   
455   arg1 = (LLVMTargetDataRef)jarg1; 
456   
457   arg2 = (LLVMTypeRef)jarg2; 
458   
459   result = (unsigned long long)LLVMStoreSizeOfType(arg1,arg2);
460   jresult = result; 
461   
462   
463   
464   return jresult;
465   
466 }
467
468
469
470 DllExport unsigned long long SWIGSTDCALL Ada_LLVMABISizeOfType (
471   void * jarg1
472   ,
473   
474   void * jarg2
475   )
476 {
477   unsigned long long jresult ;
478   LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
479   LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
480   unsigned long long result;
481   
482   arg1 = (LLVMTargetDataRef)jarg1; 
483   
484   arg2 = (LLVMTypeRef)jarg2; 
485   
486   result = (unsigned long long)LLVMABISizeOfType(arg1,arg2);
487   jresult = result; 
488   
489   
490   
491   return jresult;
492   
493 }
494
495
496
497 DllExport unsigned int SWIGSTDCALL Ada_LLVMABIAlignmentOfType (
498   void * jarg1
499   ,
500   
501   void * jarg2
502   )
503 {
504   unsigned int jresult ;
505   LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
506   LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
507   unsigned int result;
508   
509   arg1 = (LLVMTargetDataRef)jarg1; 
510   
511   arg2 = (LLVMTypeRef)jarg2; 
512   
513   result = (unsigned int)LLVMABIAlignmentOfType(arg1,arg2);
514   jresult = result; 
515   
516   
517   
518   return jresult;
519   
520 }
521
522
523
524 DllExport unsigned int SWIGSTDCALL Ada_LLVMCallFrameAlignmentOfType (
525   void * jarg1
526   ,
527   
528   void * jarg2
529   )
530 {
531   unsigned int jresult ;
532   LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
533   LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
534   unsigned int result;
535   
536   arg1 = (LLVMTargetDataRef)jarg1; 
537   
538   arg2 = (LLVMTypeRef)jarg2; 
539   
540   result = (unsigned int)LLVMCallFrameAlignmentOfType(arg1,arg2);
541   jresult = result; 
542   
543   
544   
545   return jresult;
546   
547 }
548
549
550
551 DllExport unsigned int SWIGSTDCALL Ada_LLVMPreferredAlignmentOfType (
552   void * jarg1
553   ,
554   
555   void * jarg2
556   )
557 {
558   unsigned int jresult ;
559   LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
560   LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
561   unsigned int result;
562   
563   arg1 = (LLVMTargetDataRef)jarg1; 
564   
565   arg2 = (LLVMTypeRef)jarg2; 
566   
567   result = (unsigned int)LLVMPreferredAlignmentOfType(arg1,arg2);
568   jresult = result; 
569   
570   
571   
572   return jresult;
573   
574 }
575
576
577
578 DllExport unsigned int SWIGSTDCALL Ada_LLVMPreferredAlignmentOfGlobal (
579   void * jarg1
580   ,
581   
582   void * jarg2
583   )
584 {
585   unsigned int jresult ;
586   LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
587   LLVMValueRef arg2 = (LLVMValueRef) 0 ;
588   unsigned int result;
589   
590   arg1 = (LLVMTargetDataRef)jarg1; 
591   
592   arg2 = (LLVMValueRef)jarg2; 
593   
594   result = (unsigned int)LLVMPreferredAlignmentOfGlobal(arg1,arg2);
595   jresult = result; 
596   
597   
598   
599   return jresult;
600   
601 }
602
603
604
605 DllExport unsigned int SWIGSTDCALL Ada_LLVMElementAtOffset (
606   void * jarg1
607   ,
608   
609   void * jarg2
610   ,
611   
612   unsigned long long jarg3
613   )
614 {
615   unsigned int jresult ;
616   LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
617   LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
618   unsigned long long arg3 ;
619   unsigned int result;
620   
621   arg1 = (LLVMTargetDataRef)jarg1; 
622   
623   arg2 = (LLVMTypeRef)jarg2; 
624   
625   
626   arg3 = (unsigned long long) jarg3; 
627   
628   
629   result = (unsigned int)LLVMElementAtOffset(arg1,arg2,arg3);
630   jresult = result; 
631   
632   
633   
634   return jresult;
635   
636 }
637
638
639
640 DllExport unsigned long long SWIGSTDCALL Ada_LLVMOffsetOfElement (
641   void * jarg1
642   ,
643   
644   void * jarg2
645   ,
646   
647   unsigned int jarg3
648   )
649 {
650   unsigned long long jresult ;
651   LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
652   LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
653   unsigned int arg3 ;
654   unsigned long long result;
655   
656   arg1 = (LLVMTargetDataRef)jarg1; 
657   
658   arg2 = (LLVMTypeRef)jarg2; 
659   
660   
661   arg3 = (unsigned int) jarg3; 
662   
663   
664   result = (unsigned long long)LLVMOffsetOfElement(arg1,arg2,arg3);
665   jresult = result; 
666   
667   
668   
669   return jresult;
670   
671 }
672
673
674
675 DllExport void SWIGSTDCALL Ada_LLVMInvalidateStructLayout (
676   void * jarg1
677   ,
678   
679   void * jarg2
680   )
681 {
682   LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
683   LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
684   
685   arg1 = (LLVMTargetDataRef)jarg1; 
686   
687   arg2 = (LLVMTypeRef)jarg2; 
688   
689   LLVMInvalidateStructLayout(arg1,arg2);
690   
691   
692 }
693
694
695
696 DllExport void SWIGSTDCALL Ada_LLVMDisposeTargetData (
697   void * jarg1
698   )
699 {
700   LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
701   
702   arg1 = (LLVMTargetDataRef)jarg1; 
703   
704   LLVMDisposeTargetData(arg1);
705   
706   
707 }
708
709
710
711 #ifdef __cplusplus
712 }
713 #endif
714 #ifdef __cplusplus
715 extern "C" {
716 #endif
717 #ifdef __cplusplus
718 }
719 #endif
720