LLVM Ada language bindings. Credit to Rod Kay and the AuroraUX team.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79295 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Edward O'Callaghan 2009-08-18 00:24:36 +00:00
parent 25103a2617
commit e1b80b6946
26 changed files with 17093 additions and 0 deletions

View File

@ -182,6 +182,10 @@ N: Sumant Kowshik
E: kowshik@uiuc.edu
D: Author of the original C backend
N: Rod Kay
E: rkay@auroraux.org
D: Author of LLVM Ada bindings
N: Christopher Lamb
E: christopher.lamb@gmail.com
D: aligned load/store support, parts of noalias and restrict support

View File

@ -0,0 +1,32 @@
-- This file is generated by SWIG. Do *not* modify by hand.
--
with llvm;
with Interfaces.C.Strings;
package LLVM_Analysis.Binding is
function LLVMVerifyModule
(M : in llvm.LLVMModuleRef;
Action : in LLVM_Analysis.LLVMVerifierFailureAction;
OutMessage : access Interfaces.C.Strings.chars_ptr)
return Interfaces.C.int;
function LLVMVerifyFunction
(Fn : in llvm.LLVMValueRef;
Action : in LLVM_Analysis.LLVMVerifierFailureAction)
return Interfaces.C.int;
procedure LLVMViewFunctionCFG (Fn : in llvm.LLVMValueRef);
procedure LLVMViewFunctionCFGOnly (Fn : in llvm.LLVMValueRef);
private
pragma Import (C, LLVMVerifyModule, "Ada_LLVMVerifyModule");
pragma Import (C, LLVMVerifyFunction, "Ada_LLVMVerifyFunction");
pragma Import (C, LLVMViewFunctionCFG, "Ada_LLVMViewFunctionCFG");
pragma Import (C, LLVMViewFunctionCFGOnly, "Ada_LLVMViewFunctionCFGOnly");
end LLVM_Analysis.Binding;

View File

@ -0,0 +1,30 @@
-- This file is generated by SWIG. Do *not* modify by hand.
--
with Interfaces.C;
package LLVM_Analysis is
-- LLVMVerifierFailureAction
--
type LLVMVerifierFailureAction is (
LLVMAbortProcessAction,
LLVMPrintMessageAction,
LLVMReturnStatusAction);
for LLVMVerifierFailureAction use
(LLVMAbortProcessAction => 0,
LLVMPrintMessageAction => 1,
LLVMReturnStatusAction => 2);
pragma Convention (C, LLVMVerifierFailureAction);
type LLVMVerifierFailureAction_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_Analysis.LLVMVerifierFailureAction;
type LLVMVerifierFailureAction_view is access all
LLVM_Analysis.LLVMVerifierFailureAction;
end LLVM_Analysis;

View File

@ -0,0 +1,369 @@
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 1.3.36
*
* This file is not intended to be easily readable and contains a number of
* coding conventions designed to improve portability and efficiency. Do not make
* changes to this file unless you know what you are doing--modify the SWIG
* interface file instead.
* ----------------------------------------------------------------------------- */
#ifdef __cplusplus
template<typename T> class SwigValueWrapper {
T *tt;
public:
SwigValueWrapper() : tt(0) { }
SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
SwigValueWrapper(const T& t) : tt(new T(t)) { }
~SwigValueWrapper() { delete tt; }
SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
operator T&() const { return *tt; }
T *operator&() { return tt; }
private:
SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
};
template <typename T> T SwigValueInit() {
return T();
}
#endif
/* -----------------------------------------------------------------------------
* This section contains generic SWIG labels for method/variable
* declarations/attributes, and other compiler dependent labels.
* ----------------------------------------------------------------------------- */
/* template workaround for compilers that cannot correctly implement the C++ standard */
#ifndef SWIGTEMPLATEDISAMBIGUATOR
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
# define SWIGTEMPLATEDISAMBIGUATOR template
# elif defined(__HP_aCC)
/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
# define SWIGTEMPLATEDISAMBIGUATOR template
# else
# define SWIGTEMPLATEDISAMBIGUATOR
# endif
#endif
/* inline attribute */
#ifndef SWIGINLINE
# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
# define SWIGINLINE inline
# else
# define SWIGINLINE
# endif
#endif
/* attribute recognised by some compilers to avoid 'unused' warnings */
#ifndef SWIGUNUSED
# if defined(__GNUC__)
# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
# define SWIGUNUSED __attribute__ ((__unused__))
# else
# define SWIGUNUSED
# endif
# elif defined(__ICC)
# define SWIGUNUSED __attribute__ ((__unused__))
# else
# define SWIGUNUSED
# endif
#endif
#ifndef SWIGUNUSEDPARM
# ifdef __cplusplus
# define SWIGUNUSEDPARM(p)
# else
# define SWIGUNUSEDPARM(p) p SWIGUNUSED
# endif
#endif
/* internal SWIG method */
#ifndef SWIGINTERN
# define SWIGINTERN static SWIGUNUSED
#endif
/* internal inline SWIG method */
#ifndef SWIGINTERNINLINE
# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
#endif
/* exporting methods */
#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
# ifndef GCC_HASCLASSVISIBILITY
# define GCC_HASCLASSVISIBILITY
# endif
#endif
#ifndef SWIGEXPORT
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
# if defined(STATIC_LINKED)
# define SWIGEXPORT
# else
# define SWIGEXPORT __declspec(dllexport)
# endif
# else
# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
# define SWIGEXPORT __attribute__ ((visibility("default")))
# else
# define SWIGEXPORT
# endif
# endif
#endif
/* calling conventions for Windows */
#ifndef SWIGSTDCALL
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
# define SWIGSTDCALL __stdcall
# else
# define SWIGSTDCALL
# endif
#endif
/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
# define _CRT_SECURE_NO_DEPRECATE
#endif
/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
# define _SCL_SECURE_NO_DEPRECATE
#endif
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#if defined(_WIN32) || defined(__CYGWIN32__)
# define DllExport __declspec( dllexport )
# define SWIGSTDCALL __stdcall
#else
# define DllExport
# define SWIGSTDCALL
#endif
#ifdef __cplusplus
# include <new>
#endif
/* Support for throwing Ada exceptions from C/C++ */
typedef enum
{
SWIG_AdaException,
SWIG_AdaOutOfMemoryException,
SWIG_AdaIndexOutOfRangeException,
SWIG_AdaDivideByZeroException,
SWIG_AdaArgumentOutOfRangeException,
SWIG_AdaNullReferenceException
} SWIG_AdaExceptionCodes;
typedef void (SWIGSTDCALL* SWIG_AdaExceptionCallback_t)(const char *);
typedef struct
{
SWIG_AdaExceptionCodes code;
SWIG_AdaExceptionCallback_t callback;
}
SWIG_AdaExceptions_t;
static
SWIG_AdaExceptions_t
SWIG_ada_exceptions[] =
{
{ SWIG_AdaException, NULL },
{ SWIG_AdaOutOfMemoryException, NULL },
{ SWIG_AdaIndexOutOfRangeException, NULL },
{ SWIG_AdaDivideByZeroException, NULL },
{ SWIG_AdaArgumentOutOfRangeException, NULL },
{ SWIG_AdaNullReferenceException, NULL }
};
static
void
SWIG_AdaThrowException (SWIG_AdaExceptionCodes code, const char *msg)
{
SWIG_AdaExceptionCallback_t callback = SWIG_ada_exceptions[SWIG_AdaException].callback;
if (code >=0 && (size_t)code < sizeof(SWIG_ada_exceptions)/sizeof(SWIG_AdaExceptions_t)) {
callback = SWIG_ada_exceptions[code].callback;
}
callback(msg);
}
#ifdef __cplusplus
extern "C"
#endif
DllExport void SWIGSTDCALL SWIGRegisterExceptionCallbacks_LLVM_Analysis (SWIG_AdaExceptionCallback_t systemException,
SWIG_AdaExceptionCallback_t outOfMemory,
SWIG_AdaExceptionCallback_t indexOutOfRange,
SWIG_AdaExceptionCallback_t divideByZero,
SWIG_AdaExceptionCallback_t argumentOutOfRange,
SWIG_AdaExceptionCallback_t nullReference)
{
SWIG_ada_exceptions [SWIG_AdaException].callback = systemException;
SWIG_ada_exceptions [SWIG_AdaOutOfMemoryException].callback = outOfMemory;
SWIG_ada_exceptions [SWIG_AdaIndexOutOfRangeException].callback = indexOutOfRange;
SWIG_ada_exceptions [SWIG_AdaDivideByZeroException].callback = divideByZero;
SWIG_ada_exceptions [SWIG_AdaArgumentOutOfRangeException].callback = argumentOutOfRange;
SWIG_ada_exceptions [SWIG_AdaNullReferenceException].callback = nullReference;
}
/* Callback for returning strings to Ada without leaking memory */
typedef char * (SWIGSTDCALL* SWIG_AdaStringHelperCallback)(const char *);
static SWIG_AdaStringHelperCallback SWIG_ada_string_callback = NULL;
/* probably obsolete ...
#ifdef __cplusplus
extern "C"
#endif
DllExport void SWIGSTDCALL SWIGRegisterStringCallback_LLVM_Analysis(SWIG_AdaStringHelperCallback callback) {
SWIG_ada_string_callback = callback;
}
*/
/* Contract support */
#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_AdaThrowException(SWIG_AdaArgumentOutOfRangeException, msg); return nullreturn; } else
#define protected public
#define private public
#include "llvm-c/Analysis.h"
//#include "llvm-c/BitReader.h"
//#include "llvm-c/BitWriter.h"
//#include "llvm-c/Core.h"
//#include "llvm-c/ExecutionEngine.h"
//#include "llvm-c/LinkTimeOptimizer.h"
//#include "llvm-c/lto.h"
//#include "llvm-c/Target.h"
// struct LLVMCtxt;
#undef protected
#undef private
#ifdef __cplusplus
extern "C" {
#endif
DllExport int SWIGSTDCALL Ada_LLVMVerifyModule (
void * jarg1
,
int jarg2
,
void * jarg3
)
{
int jresult ;
LLVMModuleRef arg1 = (LLVMModuleRef) 0 ;
LLVMVerifierFailureAction arg2 ;
char **arg3 = (char **) 0 ;
int result;
arg1 = (LLVMModuleRef)jarg1;
arg2 = (LLVMVerifierFailureAction) jarg2;
arg3 = (char **)jarg3;
result = (int)LLVMVerifyModule(arg1,arg2,arg3);
jresult = result;
return jresult;
}
DllExport int SWIGSTDCALL Ada_LLVMVerifyFunction (
void * jarg1
,
int jarg2
)
{
int jresult ;
LLVMValueRef arg1 = (LLVMValueRef) 0 ;
LLVMVerifierFailureAction arg2 ;
int result;
arg1 = (LLVMValueRef)jarg1;
arg2 = (LLVMVerifierFailureAction) jarg2;
result = (int)LLVMVerifyFunction(arg1,arg2);
jresult = result;
return jresult;
}
DllExport void SWIGSTDCALL Ada_LLVMViewFunctionCFG (
void * jarg1
)
{
LLVMValueRef arg1 = (LLVMValueRef) 0 ;
arg1 = (LLVMValueRef)jarg1;
LLVMViewFunctionCFG(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMViewFunctionCFGOnly (
void * jarg1
)
{
LLVMValueRef arg1 = (LLVMValueRef) 0 ;
arg1 = (LLVMValueRef)jarg1;
LLVMViewFunctionCFGOnly(arg1);
}
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif

View File

@ -0,0 +1,52 @@
-- This file is generated by SWIG. Do *not* modify by hand.
--
with llvm;
with Interfaces.C.Strings;
package LLVM_bit_Reader.Binding is
function LLVMParseBitcode
(MemBuf : in llvm.LLVMMemoryBufferRef;
OutModule : access llvm.LLVMModuleRef;
OutMessage : access Interfaces.C.Strings.chars_ptr)
return Interfaces.C.int;
function LLVMParseBitcodeInContext
(MemBuf : in llvm.LLVMMemoryBufferRef;
ContextRef : in llvm.LLVMContextRef;
OutModule : access llvm.LLVMModuleRef;
OutMessage : access Interfaces.C.Strings.chars_ptr)
return Interfaces.C.int;
function LLVMGetBitcodeModuleProvider
(MemBuf : in llvm.LLVMMemoryBufferRef;
OutMP : access llvm.LLVMModuleProviderRef;
OutMessage : access Interfaces.C.Strings.chars_ptr)
return Interfaces.C.int;
function LLVMGetBitcodeModuleProviderInContext
(MemBuf : in llvm.LLVMMemoryBufferRef;
ContextRef : in llvm.LLVMContextRef;
OutMP : access llvm.LLVMModuleProviderRef;
OutMessage : access Interfaces.C.Strings.chars_ptr)
return Interfaces.C.int;
private
pragma Import (C, LLVMParseBitcode, "Ada_LLVMParseBitcode");
pragma Import
(C,
LLVMParseBitcodeInContext,
"Ada_LLVMParseBitcodeInContext");
pragma Import
(C,
LLVMGetBitcodeModuleProvider,
"Ada_LLVMGetBitcodeModuleProvider");
pragma Import
(C,
LLVMGetBitcodeModuleProviderInContext,
"Ada_LLVMGetBitcodeModuleProviderInContext");
end LLVM_bit_Reader.Binding;

View File

@ -0,0 +1,6 @@
-- This file is generated by SWIG. Do *not* modify by hand.
--
package LLVM_bit_Reader is
end LLVM_bit_Reader;

View File

@ -0,0 +1,423 @@
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 1.3.36
*
* This file is not intended to be easily readable and contains a number of
* coding conventions designed to improve portability and efficiency. Do not make
* changes to this file unless you know what you are doing--modify the SWIG
* interface file instead.
* ----------------------------------------------------------------------------- */
#ifdef __cplusplus
template<typename T> class SwigValueWrapper {
T *tt;
public:
SwigValueWrapper() : tt(0) { }
SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
SwigValueWrapper(const T& t) : tt(new T(t)) { }
~SwigValueWrapper() { delete tt; }
SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
operator T&() const { return *tt; }
T *operator&() { return tt; }
private:
SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
};
template <typename T> T SwigValueInit() {
return T();
}
#endif
/* -----------------------------------------------------------------------------
* This section contains generic SWIG labels for method/variable
* declarations/attributes, and other compiler dependent labels.
* ----------------------------------------------------------------------------- */
/* template workaround for compilers that cannot correctly implement the C++ standard */
#ifndef SWIGTEMPLATEDISAMBIGUATOR
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
# define SWIGTEMPLATEDISAMBIGUATOR template
# elif defined(__HP_aCC)
/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
# define SWIGTEMPLATEDISAMBIGUATOR template
# else
# define SWIGTEMPLATEDISAMBIGUATOR
# endif
#endif
/* inline attribute */
#ifndef SWIGINLINE
# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
# define SWIGINLINE inline
# else
# define SWIGINLINE
# endif
#endif
/* attribute recognised by some compilers to avoid 'unused' warnings */
#ifndef SWIGUNUSED
# if defined(__GNUC__)
# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
# define SWIGUNUSED __attribute__ ((__unused__))
# else
# define SWIGUNUSED
# endif
# elif defined(__ICC)
# define SWIGUNUSED __attribute__ ((__unused__))
# else
# define SWIGUNUSED
# endif
#endif
#ifndef SWIGUNUSEDPARM
# ifdef __cplusplus
# define SWIGUNUSEDPARM(p)
# else
# define SWIGUNUSEDPARM(p) p SWIGUNUSED
# endif
#endif
/* internal SWIG method */
#ifndef SWIGINTERN
# define SWIGINTERN static SWIGUNUSED
#endif
/* internal inline SWIG method */
#ifndef SWIGINTERNINLINE
# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
#endif
/* exporting methods */
#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
# ifndef GCC_HASCLASSVISIBILITY
# define GCC_HASCLASSVISIBILITY
# endif
#endif
#ifndef SWIGEXPORT
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
# if defined(STATIC_LINKED)
# define SWIGEXPORT
# else
# define SWIGEXPORT __declspec(dllexport)
# endif
# else
# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
# define SWIGEXPORT __attribute__ ((visibility("default")))
# else
# define SWIGEXPORT
# endif
# endif
#endif
/* calling conventions for Windows */
#ifndef SWIGSTDCALL
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
# define SWIGSTDCALL __stdcall
# else
# define SWIGSTDCALL
# endif
#endif
/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
# define _CRT_SECURE_NO_DEPRECATE
#endif
/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
# define _SCL_SECURE_NO_DEPRECATE
#endif
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#if defined(_WIN32) || defined(__CYGWIN32__)
# define DllExport __declspec( dllexport )
# define SWIGSTDCALL __stdcall
#else
# define DllExport
# define SWIGSTDCALL
#endif
#ifdef __cplusplus
# include <new>
#endif
/* Support for throwing Ada exceptions from C/C++ */
typedef enum
{
SWIG_AdaException,
SWIG_AdaOutOfMemoryException,
SWIG_AdaIndexOutOfRangeException,
SWIG_AdaDivideByZeroException,
SWIG_AdaArgumentOutOfRangeException,
SWIG_AdaNullReferenceException
} SWIG_AdaExceptionCodes;
typedef void (SWIGSTDCALL* SWIG_AdaExceptionCallback_t)(const char *);
typedef struct
{
SWIG_AdaExceptionCodes code;
SWIG_AdaExceptionCallback_t callback;
}
SWIG_AdaExceptions_t;
static
SWIG_AdaExceptions_t
SWIG_ada_exceptions[] =
{
{ SWIG_AdaException, NULL },
{ SWIG_AdaOutOfMemoryException, NULL },
{ SWIG_AdaIndexOutOfRangeException, NULL },
{ SWIG_AdaDivideByZeroException, NULL },
{ SWIG_AdaArgumentOutOfRangeException, NULL },
{ SWIG_AdaNullReferenceException, NULL }
};
static
void
SWIG_AdaThrowException (SWIG_AdaExceptionCodes code, const char *msg)
{
SWIG_AdaExceptionCallback_t callback = SWIG_ada_exceptions[SWIG_AdaException].callback;
if (code >=0 && (size_t)code < sizeof(SWIG_ada_exceptions)/sizeof(SWIG_AdaExceptions_t)) {
callback = SWIG_ada_exceptions[code].callback;
}
callback(msg);
}
#ifdef __cplusplus
extern "C"
#endif
DllExport void SWIGSTDCALL SWIGRegisterExceptionCallbacks_LLVM_bit_Reader (SWIG_AdaExceptionCallback_t systemException,
SWIG_AdaExceptionCallback_t outOfMemory,
SWIG_AdaExceptionCallback_t indexOutOfRange,
SWIG_AdaExceptionCallback_t divideByZero,
SWIG_AdaExceptionCallback_t argumentOutOfRange,
SWIG_AdaExceptionCallback_t nullReference)
{
SWIG_ada_exceptions [SWIG_AdaException].callback = systemException;
SWIG_ada_exceptions [SWIG_AdaOutOfMemoryException].callback = outOfMemory;
SWIG_ada_exceptions [SWIG_AdaIndexOutOfRangeException].callback = indexOutOfRange;
SWIG_ada_exceptions [SWIG_AdaDivideByZeroException].callback = divideByZero;
SWIG_ada_exceptions [SWIG_AdaArgumentOutOfRangeException].callback = argumentOutOfRange;
SWIG_ada_exceptions [SWIG_AdaNullReferenceException].callback = nullReference;
}
/* Callback for returning strings to Ada without leaking memory */
typedef char * (SWIGSTDCALL* SWIG_AdaStringHelperCallback)(const char *);
static SWIG_AdaStringHelperCallback SWIG_ada_string_callback = NULL;
/* probably obsolete ...
#ifdef __cplusplus
extern "C"
#endif
DllExport void SWIGSTDCALL SWIGRegisterStringCallback_LLVM_bit_Reader(SWIG_AdaStringHelperCallback callback) {
SWIG_ada_string_callback = callback;
}
*/
/* Contract support */
#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_AdaThrowException(SWIG_AdaArgumentOutOfRangeException, msg); return nullreturn; } else
#define protected public
#define private public
//#include "llvm-c/Analysis.h"
#include "llvm-c/BitReader.h"
//#include "llvm-c/BitWriter.h"
//#include "llvm-c/Core.h"
//#include "llvm-c/ExecutionEngine.h"
//#include "llvm-c/LinkTimeOptimizer.h"
//#include "llvm-c/lto.h"
//#include "llvm-c/Target.h"
// struct LLVMCtxt;
#undef protected
#undef private
#ifdef __cplusplus
extern "C" {
#endif
DllExport int SWIGSTDCALL Ada_LLVMParseBitcode (
void * jarg1
,
void * jarg2
,
void * jarg3
)
{
int jresult ;
LLVMMemoryBufferRef arg1 = (LLVMMemoryBufferRef) 0 ;
LLVMModuleRef *arg2 = (LLVMModuleRef *) 0 ;
char **arg3 = (char **) 0 ;
int result;
arg1 = (LLVMMemoryBufferRef)jarg1;
arg2 = (LLVMModuleRef *)jarg2;
arg3 = (char **)jarg3;
result = (int)LLVMParseBitcode(arg1,arg2,arg3);
jresult = result;
return jresult;
}
DllExport int SWIGSTDCALL Ada_LLVMParseBitcodeInContext (
void * jarg1
,
void * jarg2
,
void * jarg3
,
void * jarg4
)
{
int jresult ;
LLVMMemoryBufferRef arg1 = (LLVMMemoryBufferRef) 0 ;
LLVMContextRef arg2 = (LLVMContextRef) 0 ;
LLVMModuleRef *arg3 = (LLVMModuleRef *) 0 ;
char **arg4 = (char **) 0 ;
int result;
arg1 = (LLVMMemoryBufferRef)jarg1;
arg2 = (LLVMContextRef)jarg2;
arg3 = (LLVMModuleRef *)jarg3;
arg4 = (char **)jarg4;
result = (int)LLVMParseBitcodeInContext(arg1,arg2,arg3,arg4);
jresult = result;
return jresult;
}
DllExport int SWIGSTDCALL Ada_LLVMGetBitcodeModuleProvider (
void * jarg1
,
void * jarg2
,
void * jarg3
)
{
int jresult ;
LLVMMemoryBufferRef arg1 = (LLVMMemoryBufferRef) 0 ;
LLVMModuleProviderRef *arg2 = (LLVMModuleProviderRef *) 0 ;
char **arg3 = (char **) 0 ;
int result;
arg1 = (LLVMMemoryBufferRef)jarg1;
arg2 = (LLVMModuleProviderRef *)jarg2;
arg3 = (char **)jarg3;
result = (int)LLVMGetBitcodeModuleProvider(arg1,arg2,arg3);
jresult = result;
return jresult;
}
DllExport int SWIGSTDCALL Ada_LLVMGetBitcodeModuleProviderInContext (
void * jarg1
,
void * jarg2
,
void * jarg3
,
void * jarg4
)
{
int jresult ;
LLVMMemoryBufferRef arg1 = (LLVMMemoryBufferRef) 0 ;
LLVMContextRef arg2 = (LLVMContextRef) 0 ;
LLVMModuleProviderRef *arg3 = (LLVMModuleProviderRef *) 0 ;
char **arg4 = (char **) 0 ;
int result;
arg1 = (LLVMMemoryBufferRef)jarg1;
arg2 = (LLVMContextRef)jarg2;
arg3 = (LLVMModuleProviderRef *)jarg3;
arg4 = (char **)jarg4;
result = (int)LLVMGetBitcodeModuleProviderInContext(arg1,arg2,arg3,arg4);
jresult = result;
return jresult;
}
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif

View File

@ -0,0 +1,28 @@
-- This file is generated by SWIG. Do *not* modify by hand.
--
with llvm;
with Interfaces.C.Strings;
package LLVM_bit_Writer.Binding is
function LLVMWriteBitcodeToFileHandle
(M : in llvm.LLVMModuleRef;
Handle : in Interfaces.C.int)
return Interfaces.C.int;
function LLVMWriteBitcodeToFile
(M : in llvm.LLVMModuleRef;
Path : in Interfaces.C.Strings.chars_ptr)
return Interfaces.C.int;
private
pragma Import
(C,
LLVMWriteBitcodeToFileHandle,
"Ada_LLVMWriteBitcodeToFileHandle");
pragma Import (C, LLVMWriteBitcodeToFile, "Ada_LLVMWriteBitcodeToFile");
end LLVM_bit_Writer.Binding;

View File

@ -0,0 +1,6 @@
-- This file is generated by SWIG. Do *not* modify by hand.
--
package LLVM_bit_Writer is
end LLVM_bit_Writer;

View File

@ -0,0 +1,335 @@
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 1.3.36
*
* This file is not intended to be easily readable and contains a number of
* coding conventions designed to improve portability and efficiency. Do not make
* changes to this file unless you know what you are doing--modify the SWIG
* interface file instead.
* ----------------------------------------------------------------------------- */
#ifdef __cplusplus
template<typename T> class SwigValueWrapper {
T *tt;
public:
SwigValueWrapper() : tt(0) { }
SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
SwigValueWrapper(const T& t) : tt(new T(t)) { }
~SwigValueWrapper() { delete tt; }
SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
operator T&() const { return *tt; }
T *operator&() { return tt; }
private:
SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
};
template <typename T> T SwigValueInit() {
return T();
}
#endif
/* -----------------------------------------------------------------------------
* This section contains generic SWIG labels for method/variable
* declarations/attributes, and other compiler dependent labels.
* ----------------------------------------------------------------------------- */
/* template workaround for compilers that cannot correctly implement the C++ standard */
#ifndef SWIGTEMPLATEDISAMBIGUATOR
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
# define SWIGTEMPLATEDISAMBIGUATOR template
# elif defined(__HP_aCC)
/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
# define SWIGTEMPLATEDISAMBIGUATOR template
# else
# define SWIGTEMPLATEDISAMBIGUATOR
# endif
#endif
/* inline attribute */
#ifndef SWIGINLINE
# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
# define SWIGINLINE inline
# else
# define SWIGINLINE
# endif
#endif
/* attribute recognised by some compilers to avoid 'unused' warnings */
#ifndef SWIGUNUSED
# if defined(__GNUC__)
# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
# define SWIGUNUSED __attribute__ ((__unused__))
# else
# define SWIGUNUSED
# endif
# elif defined(__ICC)
# define SWIGUNUSED __attribute__ ((__unused__))
# else
# define SWIGUNUSED
# endif
#endif
#ifndef SWIGUNUSEDPARM
# ifdef __cplusplus
# define SWIGUNUSEDPARM(p)
# else
# define SWIGUNUSEDPARM(p) p SWIGUNUSED
# endif
#endif
/* internal SWIG method */
#ifndef SWIGINTERN
# define SWIGINTERN static SWIGUNUSED
#endif
/* internal inline SWIG method */
#ifndef SWIGINTERNINLINE
# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
#endif
/* exporting methods */
#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
# ifndef GCC_HASCLASSVISIBILITY
# define GCC_HASCLASSVISIBILITY
# endif
#endif
#ifndef SWIGEXPORT
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
# if defined(STATIC_LINKED)
# define SWIGEXPORT
# else
# define SWIGEXPORT __declspec(dllexport)
# endif
# else
# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
# define SWIGEXPORT __attribute__ ((visibility("default")))
# else
# define SWIGEXPORT
# endif
# endif
#endif
/* calling conventions for Windows */
#ifndef SWIGSTDCALL
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
# define SWIGSTDCALL __stdcall
# else
# define SWIGSTDCALL
# endif
#endif
/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
# define _CRT_SECURE_NO_DEPRECATE
#endif
/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
# define _SCL_SECURE_NO_DEPRECATE
#endif
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#if defined(_WIN32) || defined(__CYGWIN32__)
# define DllExport __declspec( dllexport )
# define SWIGSTDCALL __stdcall
#else
# define DllExport
# define SWIGSTDCALL
#endif
#ifdef __cplusplus
# include <new>
#endif
/* Support for throwing Ada exceptions from C/C++ */
typedef enum
{
SWIG_AdaException,
SWIG_AdaOutOfMemoryException,
SWIG_AdaIndexOutOfRangeException,
SWIG_AdaDivideByZeroException,
SWIG_AdaArgumentOutOfRangeException,
SWIG_AdaNullReferenceException
} SWIG_AdaExceptionCodes;
typedef void (SWIGSTDCALL* SWIG_AdaExceptionCallback_t)(const char *);
typedef struct
{
SWIG_AdaExceptionCodes code;
SWIG_AdaExceptionCallback_t callback;
}
SWIG_AdaExceptions_t;
static
SWIG_AdaExceptions_t
SWIG_ada_exceptions[] =
{
{ SWIG_AdaException, NULL },
{ SWIG_AdaOutOfMemoryException, NULL },
{ SWIG_AdaIndexOutOfRangeException, NULL },
{ SWIG_AdaDivideByZeroException, NULL },
{ SWIG_AdaArgumentOutOfRangeException, NULL },
{ SWIG_AdaNullReferenceException, NULL }
};
static
void
SWIG_AdaThrowException (SWIG_AdaExceptionCodes code, const char *msg)
{
SWIG_AdaExceptionCallback_t callback = SWIG_ada_exceptions[SWIG_AdaException].callback;
if (code >=0 && (size_t)code < sizeof(SWIG_ada_exceptions)/sizeof(SWIG_AdaExceptions_t)) {
callback = SWIG_ada_exceptions[code].callback;
}
callback(msg);
}
#ifdef __cplusplus
extern "C"
#endif
DllExport void SWIGSTDCALL SWIGRegisterExceptionCallbacks_LLVM_bit_Writer (SWIG_AdaExceptionCallback_t systemException,
SWIG_AdaExceptionCallback_t outOfMemory,
SWIG_AdaExceptionCallback_t indexOutOfRange,
SWIG_AdaExceptionCallback_t divideByZero,
SWIG_AdaExceptionCallback_t argumentOutOfRange,
SWIG_AdaExceptionCallback_t nullReference)
{
SWIG_ada_exceptions [SWIG_AdaException].callback = systemException;
SWIG_ada_exceptions [SWIG_AdaOutOfMemoryException].callback = outOfMemory;
SWIG_ada_exceptions [SWIG_AdaIndexOutOfRangeException].callback = indexOutOfRange;
SWIG_ada_exceptions [SWIG_AdaDivideByZeroException].callback = divideByZero;
SWIG_ada_exceptions [SWIG_AdaArgumentOutOfRangeException].callback = argumentOutOfRange;
SWIG_ada_exceptions [SWIG_AdaNullReferenceException].callback = nullReference;
}
/* Callback for returning strings to Ada without leaking memory */
typedef char * (SWIGSTDCALL* SWIG_AdaStringHelperCallback)(const char *);
static SWIG_AdaStringHelperCallback SWIG_ada_string_callback = NULL;
/* probably obsolete ...
#ifdef __cplusplus
extern "C"
#endif
DllExport void SWIGSTDCALL SWIGRegisterStringCallback_LLVM_bit_Writer(SWIG_AdaStringHelperCallback callback) {
SWIG_ada_string_callback = callback;
}
*/
/* Contract support */
#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_AdaThrowException(SWIG_AdaArgumentOutOfRangeException, msg); return nullreturn; } else
#define protected public
#define private public
#include "llvm-c/Analysis.h"
#include "llvm-c/BitReader.h"
#include "llvm-c/BitWriter.h"
#include "llvm-c/Core.h"
#include "llvm-c/ExecutionEngine.h"
#include "llvm-c/LinkTimeOptimizer.h"
#include "llvm-c/lto.h"
#include "llvm-c/Target.h"
// struct LLVMCtxt;
#undef protected
#undef private
#ifdef __cplusplus
extern "C" {
#endif
DllExport int SWIGSTDCALL Ada_LLVMWriteBitcodeToFileHandle (
void * jarg1
,
int jarg2
)
{
int jresult ;
LLVMModuleRef arg1 = (LLVMModuleRef) 0 ;
int arg2 ;
int result;
arg1 = (LLVMModuleRef)jarg1;
arg2 = (int) jarg2;
result = (int)LLVMWriteBitcodeToFileHandle(arg1,arg2);
jresult = result;
return jresult;
}
DllExport int SWIGSTDCALL Ada_LLVMWriteBitcodeToFile (
void * jarg1
,
char * jarg2
)
{
int jresult ;
LLVMModuleRef arg1 = (LLVMModuleRef) 0 ;
char *arg2 = (char *) 0 ;
int result;
arg1 = (LLVMModuleRef)jarg1;
arg2 = jarg2;
result = (int)LLVMWriteBitcodeToFile(arg1,(char const *)arg2);
jresult = result;
return jresult;
}
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif

View File

@ -0,0 +1,192 @@
-- This file is generated by SWIG. Do *not* modify by hand.
--
with llvm;
with Interfaces.C.Strings;
package LLVM_execution_Engine.Binding is
procedure LLVMLinkInJIT;
procedure LLVMLinkInInterpreter;
function LLVMCreateGenericValueOfInt
(Ty : in llvm.LLVMTypeRef;
N : in Interfaces.C.Extensions.unsigned_long_long;
IsSigned : in Interfaces.C.int)
return LLVM_execution_Engine.LLVMGenericValueRef;
function LLVMCreateGenericValueOfPointer
(P : access Interfaces.C.Extensions.void)
return LLVM_execution_Engine.LLVMGenericValueRef;
function LLVMCreateGenericValueOfFloat
(Ty : in llvm.LLVMTypeRef;
N : in Interfaces.C.double)
return LLVM_execution_Engine.LLVMGenericValueRef;
function LLVMGenericValueIntWidth
(GenValRef : in LLVM_execution_Engine.LLVMGenericValueRef)
return Interfaces.C.unsigned;
function LLVMGenericValueToInt
(GenVal : in LLVM_execution_Engine.LLVMGenericValueRef;
IsSigned : in Interfaces.C.int)
return Interfaces.C.Extensions.unsigned_long_long;
function LLVMGenericValueToPointer
(GenVal : in LLVM_execution_Engine.LLVMGenericValueRef)
return access Interfaces.C.Extensions.void;
function LLVMGenericValueToFloat
(TyRef : in llvm.LLVMTypeRef;
GenVal : in LLVM_execution_Engine.LLVMGenericValueRef)
return Interfaces.C.double;
procedure LLVMDisposeGenericValue
(GenVal : in LLVM_execution_Engine.LLVMGenericValueRef);
function LLVMCreateExecutionEngine
(OutEE : access LLVM_execution_Engine.LLVMExecutionEngineRef;
MP : in llvm.LLVMModuleProviderRef;
OutError : access Interfaces.C.Strings.chars_ptr)
return Interfaces.C.int;
function LLVMCreateInterpreter
(OutInterp : access LLVM_execution_Engine.LLVMExecutionEngineRef;
MP : in llvm.LLVMModuleProviderRef;
OutError : access Interfaces.C.Strings.chars_ptr)
return Interfaces.C.int;
function LLVMCreateJITCompiler
(OutJIT : access LLVM_execution_Engine.LLVMExecutionEngineRef;
MP : in llvm.LLVMModuleProviderRef;
OptLevel : in Interfaces.C.unsigned;
OutError : access Interfaces.C.Strings.chars_ptr)
return Interfaces.C.int;
procedure LLVMDisposeExecutionEngine
(EE : in LLVM_execution_Engine.LLVMExecutionEngineRef);
procedure LLVMRunStaticConstructors
(EE : in LLVM_execution_Engine.LLVMExecutionEngineRef);
procedure LLVMRunStaticDestructors
(EE : in LLVM_execution_Engine.LLVMExecutionEngineRef);
function LLVMRunFunctionAsMain
(EE : in LLVM_execution_Engine.LLVMExecutionEngineRef;
F : in llvm.LLVMValueRef;
ArgC : in Interfaces.C.unsigned;
ArgV : access Interfaces.C.Strings.chars_ptr;
EnvP : access Interfaces.C.Strings.chars_ptr)
return Interfaces.C.int;
function LLVMRunFunction
(EE : in LLVM_execution_Engine.LLVMExecutionEngineRef;
F : in llvm.LLVMValueRef;
NumArgs : in Interfaces.C.unsigned;
Args : access LLVM_execution_Engine.LLVMGenericValueRef)
return LLVM_execution_Engine.LLVMGenericValueRef;
procedure LLVMFreeMachineCodeForFunction
(EE : in LLVM_execution_Engine.LLVMExecutionEngineRef;
F : in llvm.LLVMValueRef);
procedure LLVMAddModuleProvider
(EE : in LLVM_execution_Engine.LLVMExecutionEngineRef;
MP : in llvm.LLVMModuleProviderRef);
function LLVMRemoveModuleProvider
(EE : in LLVM_execution_Engine.LLVMExecutionEngineRef;
MP : in llvm.LLVMModuleProviderRef;
OutMod : access llvm.LLVMModuleRef;
OutError : access Interfaces.C.Strings.chars_ptr)
return Interfaces.C.int;
function LLVMFindFunction
(EE : in LLVM_execution_Engine.LLVMExecutionEngineRef;
Name : in Interfaces.C.Strings.chars_ptr;
OutFn : access llvm.LLVMValueRef)
return Interfaces.C.int;
function LLVMGetExecutionEngineTargetData
(EE : in LLVM_execution_Engine.LLVMExecutionEngineRef)
return LLVM_execution_Engine.LLVMTargetDataRef;
procedure LLVMAddGlobalMapping
(EE : in LLVM_execution_Engine.LLVMExecutionEngineRef;
Global : in llvm.LLVMValueRef;
Addr : access Interfaces.C.Extensions.void);
function LLVMGetPointerToGlobal
(EE : in LLVM_execution_Engine.LLVMExecutionEngineRef;
Global : in llvm.LLVMValueRef)
return access Interfaces.C.Extensions.void;
private
pragma Import (C, LLVMLinkInJIT, "Ada_LLVMLinkInJIT");
pragma Import (C, LLVMLinkInInterpreter, "Ada_LLVMLinkInInterpreter");
pragma Import
(C,
LLVMCreateGenericValueOfInt,
"Ada_LLVMCreateGenericValueOfInt");
pragma Import
(C,
LLVMCreateGenericValueOfPointer,
"Ada_LLVMCreateGenericValueOfPointer");
pragma Import
(C,
LLVMCreateGenericValueOfFloat,
"Ada_LLVMCreateGenericValueOfFloat");
pragma Import
(C,
LLVMGenericValueIntWidth,
"Ada_LLVMGenericValueIntWidth");
pragma Import (C, LLVMGenericValueToInt, "Ada_LLVMGenericValueToInt");
pragma Import
(C,
LLVMGenericValueToPointer,
"Ada_LLVMGenericValueToPointer");
pragma Import (C, LLVMGenericValueToFloat, "Ada_LLVMGenericValueToFloat");
pragma Import (C, LLVMDisposeGenericValue, "Ada_LLVMDisposeGenericValue");
pragma Import
(C,
LLVMCreateExecutionEngine,
"Ada_LLVMCreateExecutionEngine");
pragma Import (C, LLVMCreateInterpreter, "Ada_LLVMCreateInterpreter");
pragma Import (C, LLVMCreateJITCompiler, "Ada_LLVMCreateJITCompiler");
pragma Import
(C,
LLVMDisposeExecutionEngine,
"Ada_LLVMDisposeExecutionEngine");
pragma Import
(C,
LLVMRunStaticConstructors,
"Ada_LLVMRunStaticConstructors");
pragma Import
(C,
LLVMRunStaticDestructors,
"Ada_LLVMRunStaticDestructors");
pragma Import (C, LLVMRunFunctionAsMain, "Ada_LLVMRunFunctionAsMain");
pragma Import (C, LLVMRunFunction, "Ada_LLVMRunFunction");
pragma Import
(C,
LLVMFreeMachineCodeForFunction,
"Ada_LLVMFreeMachineCodeForFunction");
pragma Import (C, LLVMAddModuleProvider, "Ada_LLVMAddModuleProvider");
pragma Import
(C,
LLVMRemoveModuleProvider,
"Ada_LLVMRemoveModuleProvider");
pragma Import (C, LLVMFindFunction, "Ada_LLVMFindFunction");
pragma Import
(C,
LLVMGetExecutionEngineTargetData,
"Ada_LLVMGetExecutionEngineTargetData");
pragma Import (C, LLVMAddGlobalMapping, "Ada_LLVMAddGlobalMapping");
pragma Import (C, LLVMGetPointerToGlobal, "Ada_LLVMGetPointerToGlobal");
end LLVM_execution_Engine.Binding;

View File

@ -0,0 +1,90 @@
-- This file is generated by SWIG. Do *not* modify by hand.
--
with Interfaces.C.Extensions;
package LLVM_execution_Engine is
-- LLVMOpaqueGenericValue
--
type LLVMOpaqueGenericValue is new
Interfaces.C.Extensions.opaque_structure_def;
type LLVMOpaqueGenericValue_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_execution_Engine.LLVMOpaqueGenericValue;
type LLVMOpaqueGenericValue_view is access all
LLVM_execution_Engine.LLVMOpaqueGenericValue;
-- LLVMGenericValueRef
--
type LLVMGenericValueRef is access all
LLVM_execution_Engine.LLVMOpaqueGenericValue;
type LLVMGenericValueRef_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_execution_Engine.LLVMGenericValueRef;
type LLVMGenericValueRef_view is access all
LLVM_execution_Engine.LLVMGenericValueRef;
-- LLVMOpaqueExecutionEngine
--
type LLVMOpaqueExecutionEngine is new
Interfaces.C.Extensions.opaque_structure_def;
type LLVMOpaqueExecutionEngine_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_execution_Engine.LLVMOpaqueExecutionEngine;
type LLVMOpaqueExecutionEngine_view is access all
LLVM_execution_Engine.LLVMOpaqueExecutionEngine;
-- LLVMExecutionEngineRef
--
type LLVMExecutionEngineRef is access all
LLVM_execution_Engine.LLVMOpaqueExecutionEngine;
type LLVMExecutionEngineRef_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_execution_Engine.LLVMExecutionEngineRef;
type LLVMExecutionEngineRef_view is access all
LLVM_execution_Engine.LLVMExecutionEngineRef;
-- LLVMTargetDataRef
--
type LLVMTargetDataRef is new Interfaces.C.Extensions.opaque_structure_def;
type LLVMTargetDataRef_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_execution_Engine.LLVMTargetDataRef;
type LLVMTargetDataRef_view is access all
LLVM_execution_Engine.LLVMTargetDataRef;
-- GenericValue
--
type GenericValue is new Interfaces.C.Extensions.opaque_structure_def;
type GenericValue_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_execution_Engine.GenericValue;
type GenericValue_view is access all LLVM_execution_Engine.GenericValue;
-- ExecutionEngine
--
type ExecutionEngine is new Interfaces.C.Extensions.incomplete_class_def;
type ExecutionEngine_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_execution_Engine.ExecutionEngine;
type ExecutionEngine_view is access all
LLVM_execution_Engine.ExecutionEngine;
end LLVM_execution_Engine;

View File

@ -0,0 +1,924 @@
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 1.3.36
*
* This file is not intended to be easily readable and contains a number of
* coding conventions designed to improve portability and efficiency. Do not make
* changes to this file unless you know what you are doing--modify the SWIG
* interface file instead.
* ----------------------------------------------------------------------------- */
#ifdef __cplusplus
template<typename T> class SwigValueWrapper {
T *tt;
public:
SwigValueWrapper() : tt(0) { }
SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
SwigValueWrapper(const T& t) : tt(new T(t)) { }
~SwigValueWrapper() { delete tt; }
SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
operator T&() const { return *tt; }
T *operator&() { return tt; }
private:
SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
};
template <typename T> T SwigValueInit() {
return T();
}
#endif
/* -----------------------------------------------------------------------------
* This section contains generic SWIG labels for method/variable
* declarations/attributes, and other compiler dependent labels.
* ----------------------------------------------------------------------------- */
/* template workaround for compilers that cannot correctly implement the C++ standard */
#ifndef SWIGTEMPLATEDISAMBIGUATOR
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
# define SWIGTEMPLATEDISAMBIGUATOR template
# elif defined(__HP_aCC)
/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
# define SWIGTEMPLATEDISAMBIGUATOR template
# else
# define SWIGTEMPLATEDISAMBIGUATOR
# endif
#endif
/* inline attribute */
#ifndef SWIGINLINE
# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
# define SWIGINLINE inline
# else
# define SWIGINLINE
# endif
#endif
/* attribute recognised by some compilers to avoid 'unused' warnings */
#ifndef SWIGUNUSED
# if defined(__GNUC__)
# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
# define SWIGUNUSED __attribute__ ((__unused__))
# else
# define SWIGUNUSED
# endif
# elif defined(__ICC)
# define SWIGUNUSED __attribute__ ((__unused__))
# else
# define SWIGUNUSED
# endif
#endif
#ifndef SWIGUNUSEDPARM
# ifdef __cplusplus
# define SWIGUNUSEDPARM(p)
# else
# define SWIGUNUSEDPARM(p) p SWIGUNUSED
# endif
#endif
/* internal SWIG method */
#ifndef SWIGINTERN
# define SWIGINTERN static SWIGUNUSED
#endif
/* internal inline SWIG method */
#ifndef SWIGINTERNINLINE
# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
#endif
/* exporting methods */
#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
# ifndef GCC_HASCLASSVISIBILITY
# define GCC_HASCLASSVISIBILITY
# endif
#endif
#ifndef SWIGEXPORT
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
# if defined(STATIC_LINKED)
# define SWIGEXPORT
# else
# define SWIGEXPORT __declspec(dllexport)
# endif
# else
# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
# define SWIGEXPORT __attribute__ ((visibility("default")))
# else
# define SWIGEXPORT
# endif
# endif
#endif
/* calling conventions for Windows */
#ifndef SWIGSTDCALL
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
# define SWIGSTDCALL __stdcall
# else
# define SWIGSTDCALL
# endif
#endif
/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
# define _CRT_SECURE_NO_DEPRECATE
#endif
/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
# define _SCL_SECURE_NO_DEPRECATE
#endif
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#if defined(_WIN32) || defined(__CYGWIN32__)
# define DllExport __declspec( dllexport )
# define SWIGSTDCALL __stdcall
#else
# define DllExport
# define SWIGSTDCALL
#endif
#ifdef __cplusplus
# include <new>
#endif
/* Support for throwing Ada exceptions from C/C++ */
typedef enum
{
SWIG_AdaException,
SWIG_AdaOutOfMemoryException,
SWIG_AdaIndexOutOfRangeException,
SWIG_AdaDivideByZeroException,
SWIG_AdaArgumentOutOfRangeException,
SWIG_AdaNullReferenceException
} SWIG_AdaExceptionCodes;
typedef void (SWIGSTDCALL* SWIG_AdaExceptionCallback_t)(const char *);
typedef struct
{
SWIG_AdaExceptionCodes code;
SWIG_AdaExceptionCallback_t callback;
}
SWIG_AdaExceptions_t;
static
SWIG_AdaExceptions_t
SWIG_ada_exceptions[] =
{
{ SWIG_AdaException, NULL },
{ SWIG_AdaOutOfMemoryException, NULL },
{ SWIG_AdaIndexOutOfRangeException, NULL },
{ SWIG_AdaDivideByZeroException, NULL },
{ SWIG_AdaArgumentOutOfRangeException, NULL },
{ SWIG_AdaNullReferenceException, NULL }
};
static
void
SWIG_AdaThrowException (SWIG_AdaExceptionCodes code, const char *msg)
{
SWIG_AdaExceptionCallback_t callback = SWIG_ada_exceptions[SWIG_AdaException].callback;
if (code >=0 && (size_t)code < sizeof(SWIG_ada_exceptions)/sizeof(SWIG_AdaExceptions_t)) {
callback = SWIG_ada_exceptions[code].callback;
}
callback(msg);
}
#ifdef __cplusplus
extern "C"
#endif
DllExport void SWIGSTDCALL SWIGRegisterExceptionCallbacks_LLVM_execution_Engine (SWIG_AdaExceptionCallback_t systemException,
SWIG_AdaExceptionCallback_t outOfMemory,
SWIG_AdaExceptionCallback_t indexOutOfRange,
SWIG_AdaExceptionCallback_t divideByZero,
SWIG_AdaExceptionCallback_t argumentOutOfRange,
SWIG_AdaExceptionCallback_t nullReference)
{
SWIG_ada_exceptions [SWIG_AdaException].callback = systemException;
SWIG_ada_exceptions [SWIG_AdaOutOfMemoryException].callback = outOfMemory;
SWIG_ada_exceptions [SWIG_AdaIndexOutOfRangeException].callback = indexOutOfRange;
SWIG_ada_exceptions [SWIG_AdaDivideByZeroException].callback = divideByZero;
SWIG_ada_exceptions [SWIG_AdaArgumentOutOfRangeException].callback = argumentOutOfRange;
SWIG_ada_exceptions [SWIG_AdaNullReferenceException].callback = nullReference;
}
/* Callback for returning strings to Ada without leaking memory */
typedef char * (SWIGSTDCALL* SWIG_AdaStringHelperCallback)(const char *);
static SWIG_AdaStringHelperCallback SWIG_ada_string_callback = NULL;
/* probably obsolete ...
#ifdef __cplusplus
extern "C"
#endif
DllExport void SWIGSTDCALL SWIGRegisterStringCallback_LLVM_execution_Engine(SWIG_AdaStringHelperCallback callback) {
SWIG_ada_string_callback = callback;
}
*/
/* Contract support */
#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_AdaThrowException(SWIG_AdaArgumentOutOfRangeException, msg); return nullreturn; } else
#define protected public
#define private public
#include "llvm-c/ExecutionEngine.h"
// struct LLVMCtxt;
#undef protected
#undef private
#ifdef __cplusplus
extern "C" {
#endif
DllExport void SWIGSTDCALL Ada_LLVMLinkInJIT (
)
{
LLVMLinkInJIT();
}
DllExport void SWIGSTDCALL Ada_LLVMLinkInInterpreter (
)
{
LLVMLinkInInterpreter();
}
DllExport void * SWIGSTDCALL Ada_LLVMCreateGenericValueOfInt (
void * jarg1
,
unsigned long long jarg2
,
int jarg3
)
{
void * jresult ;
LLVMTypeRef arg1 = (LLVMTypeRef) 0 ;
unsigned long long arg2 ;
int arg3 ;
LLVMGenericValueRef result;
arg1 = (LLVMTypeRef)jarg1;
arg2 = (unsigned long long) jarg2;
arg3 = (int) jarg3;
result = (LLVMGenericValueRef)LLVMCreateGenericValueOfInt(arg1,arg2,arg3);
jresult = (void *) result;
return jresult;
}
DllExport void * SWIGSTDCALL Ada_LLVMCreateGenericValueOfPointer (
void* jarg1
)
{
void * jresult ;
void *arg1 = (void *) 0 ;
LLVMGenericValueRef result;
arg1 = (void *)jarg1;
result = (LLVMGenericValueRef)LLVMCreateGenericValueOfPointer(arg1);
jresult = (void *) result;
return jresult;
}
DllExport void * SWIGSTDCALL Ada_LLVMCreateGenericValueOfFloat (
void * jarg1
,
double jarg2
)
{
void * jresult ;
LLVMTypeRef arg1 = (LLVMTypeRef) 0 ;
double arg2 ;
LLVMGenericValueRef result;
arg1 = (LLVMTypeRef)jarg1;
arg2 = (double) jarg2;
result = (LLVMGenericValueRef)LLVMCreateGenericValueOfFloat(arg1,arg2);
jresult = (void *) result;
return jresult;
}
DllExport unsigned int SWIGSTDCALL Ada_LLVMGenericValueIntWidth (
void * jarg1
)
{
unsigned int jresult ;
LLVMGenericValueRef arg1 = (LLVMGenericValueRef) 0 ;
unsigned int result;
arg1 = (LLVMGenericValueRef)jarg1;
result = (unsigned int)LLVMGenericValueIntWidth(arg1);
jresult = result;
return jresult;
}
DllExport unsigned long long SWIGSTDCALL Ada_LLVMGenericValueToInt (
void * jarg1
,
int jarg2
)
{
unsigned long long jresult ;
LLVMGenericValueRef arg1 = (LLVMGenericValueRef) 0 ;
int arg2 ;
unsigned long long result;
arg1 = (LLVMGenericValueRef)jarg1;
arg2 = (int) jarg2;
result = (unsigned long long)LLVMGenericValueToInt(arg1,arg2);
jresult = result;
return jresult;
}
DllExport void* SWIGSTDCALL Ada_LLVMGenericValueToPointer (
void * jarg1
)
{
void* jresult ;
LLVMGenericValueRef arg1 = (LLVMGenericValueRef) 0 ;
void *result = 0 ;
arg1 = (LLVMGenericValueRef)jarg1;
result = (void *)LLVMGenericValueToPointer(arg1);
jresult = (void *) result;
return jresult;
}
DllExport double SWIGSTDCALL Ada_LLVMGenericValueToFloat (
void * jarg1
,
void * jarg2
)
{
double jresult ;
LLVMTypeRef arg1 = (LLVMTypeRef) 0 ;
LLVMGenericValueRef arg2 = (LLVMGenericValueRef) 0 ;
double result;
arg1 = (LLVMTypeRef)jarg1;
arg2 = (LLVMGenericValueRef)jarg2;
result = (double)LLVMGenericValueToFloat(arg1,arg2);
jresult = result;
return jresult;
}
DllExport void SWIGSTDCALL Ada_LLVMDisposeGenericValue (
void * jarg1
)
{
LLVMGenericValueRef arg1 = (LLVMGenericValueRef) 0 ;
arg1 = (LLVMGenericValueRef)jarg1;
LLVMDisposeGenericValue(arg1);
}
DllExport int SWIGSTDCALL Ada_LLVMCreateExecutionEngine (
void * jarg1
,
void * jarg2
,
void * jarg3
)
{
int jresult ;
LLVMExecutionEngineRef *arg1 = (LLVMExecutionEngineRef *) 0 ;
LLVMModuleProviderRef arg2 = (LLVMModuleProviderRef) 0 ;
char **arg3 = (char **) 0 ;
int result;
arg1 = (LLVMExecutionEngineRef *)jarg1;
arg2 = (LLVMModuleProviderRef)jarg2;
arg3 = (char **)jarg3;
result = (int)LLVMCreateExecutionEngine(arg1,arg2,arg3);
jresult = result;
return jresult;
}
DllExport int SWIGSTDCALL Ada_LLVMCreateInterpreter (
void * jarg1
,
void * jarg2
,
void * jarg3
)
{
int jresult ;
LLVMExecutionEngineRef *arg1 = (LLVMExecutionEngineRef *) 0 ;
LLVMModuleProviderRef arg2 = (LLVMModuleProviderRef) 0 ;
char **arg3 = (char **) 0 ;
int result;
arg1 = (LLVMExecutionEngineRef *)jarg1;
arg2 = (LLVMModuleProviderRef)jarg2;
arg3 = (char **)jarg3;
result = (int)LLVMCreateInterpreter(arg1,arg2,arg3);
jresult = result;
return jresult;
}
DllExport int SWIGSTDCALL Ada_LLVMCreateJITCompiler (
void * jarg1
,
void * jarg2
,
unsigned int jarg3
,
void * jarg4
)
{
int jresult ;
LLVMExecutionEngineRef *arg1 = (LLVMExecutionEngineRef *) 0 ;
LLVMModuleProviderRef arg2 = (LLVMModuleProviderRef) 0 ;
unsigned int arg3 ;
char **arg4 = (char **) 0 ;
int result;
arg1 = (LLVMExecutionEngineRef *)jarg1;
arg2 = (LLVMModuleProviderRef)jarg2;
arg3 = (unsigned int) jarg3;
arg4 = (char **)jarg4;
result = (int)LLVMCreateJITCompiler(arg1,arg2,arg3,arg4);
jresult = result;
return jresult;
}
DllExport void SWIGSTDCALL Ada_LLVMDisposeExecutionEngine (
void * jarg1
)
{
LLVMExecutionEngineRef arg1 = (LLVMExecutionEngineRef) 0 ;
arg1 = (LLVMExecutionEngineRef)jarg1;
LLVMDisposeExecutionEngine(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMRunStaticConstructors (
void * jarg1
)
{
LLVMExecutionEngineRef arg1 = (LLVMExecutionEngineRef) 0 ;
arg1 = (LLVMExecutionEngineRef)jarg1;
LLVMRunStaticConstructors(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMRunStaticDestructors (
void * jarg1
)
{
LLVMExecutionEngineRef arg1 = (LLVMExecutionEngineRef) 0 ;
arg1 = (LLVMExecutionEngineRef)jarg1;
LLVMRunStaticDestructors(arg1);
}
DllExport int SWIGSTDCALL Ada_LLVMRunFunctionAsMain (
void * jarg1
,
void * jarg2
,
unsigned int jarg3
,
void * jarg4
,
void * jarg5
)
{
int jresult ;
LLVMExecutionEngineRef arg1 = (LLVMExecutionEngineRef) 0 ;
LLVMValueRef arg2 = (LLVMValueRef) 0 ;
unsigned int arg3 ;
char **arg4 = (char **) 0 ;
char **arg5 = (char **) 0 ;
int result;
arg1 = (LLVMExecutionEngineRef)jarg1;
arg2 = (LLVMValueRef)jarg2;
arg3 = (unsigned int) jarg3;
arg4 = (char **)jarg4;
arg5 = (char **)jarg5;
result = (int)LLVMRunFunctionAsMain(arg1,arg2,arg3,(char const *const *)arg4,(char const *const *)arg5);
jresult = result;
return jresult;
}
DllExport void * SWIGSTDCALL Ada_LLVMRunFunction (
void * jarg1
,
void * jarg2
,
unsigned int jarg3
,
void * jarg4
)
{
void * jresult ;
LLVMExecutionEngineRef arg1 = (LLVMExecutionEngineRef) 0 ;
LLVMValueRef arg2 = (LLVMValueRef) 0 ;
unsigned int arg3 ;
LLVMGenericValueRef *arg4 = (LLVMGenericValueRef *) 0 ;
LLVMGenericValueRef result;
arg1 = (LLVMExecutionEngineRef)jarg1;
arg2 = (LLVMValueRef)jarg2;
arg3 = (unsigned int) jarg3;
arg4 = (LLVMGenericValueRef *)jarg4;
result = (LLVMGenericValueRef)LLVMRunFunction(arg1,arg2,arg3,arg4);
jresult = (void *) result;
return jresult;
}
DllExport void SWIGSTDCALL Ada_LLVMFreeMachineCodeForFunction (
void * jarg1
,
void * jarg2
)
{
LLVMExecutionEngineRef arg1 = (LLVMExecutionEngineRef) 0 ;
LLVMValueRef arg2 = (LLVMValueRef) 0 ;
arg1 = (LLVMExecutionEngineRef)jarg1;
arg2 = (LLVMValueRef)jarg2;
LLVMFreeMachineCodeForFunction(arg1,arg2);
}
DllExport void SWIGSTDCALL Ada_LLVMAddModuleProvider (
void * jarg1
,
void * jarg2
)
{
LLVMExecutionEngineRef arg1 = (LLVMExecutionEngineRef) 0 ;
LLVMModuleProviderRef arg2 = (LLVMModuleProviderRef) 0 ;
arg1 = (LLVMExecutionEngineRef)jarg1;
arg2 = (LLVMModuleProviderRef)jarg2;
LLVMAddModuleProvider(arg1,arg2);
}
DllExport int SWIGSTDCALL Ada_LLVMRemoveModuleProvider (
void * jarg1
,
void * jarg2
,
void * jarg3
,
void * jarg4
)
{
int jresult ;
LLVMExecutionEngineRef arg1 = (LLVMExecutionEngineRef) 0 ;
LLVMModuleProviderRef arg2 = (LLVMModuleProviderRef) 0 ;
LLVMModuleRef *arg3 = (LLVMModuleRef *) 0 ;
char **arg4 = (char **) 0 ;
int result;
arg1 = (LLVMExecutionEngineRef)jarg1;
arg2 = (LLVMModuleProviderRef)jarg2;
arg3 = (LLVMModuleRef *)jarg3;
arg4 = (char **)jarg4;
result = (int)LLVMRemoveModuleProvider(arg1,arg2,arg3,arg4);
jresult = result;
return jresult;
}
DllExport int SWIGSTDCALL Ada_LLVMFindFunction (
void * jarg1
,
char * jarg2
,
void * jarg3
)
{
int jresult ;
LLVMExecutionEngineRef arg1 = (LLVMExecutionEngineRef) 0 ;
char *arg2 = (char *) 0 ;
LLVMValueRef *arg3 = (LLVMValueRef *) 0 ;
int result;
arg1 = (LLVMExecutionEngineRef)jarg1;
arg2 = jarg2;
arg3 = (LLVMValueRef *)jarg3;
result = (int)LLVMFindFunction(arg1,(char const *)arg2,arg3);
jresult = result;
return jresult;
}
DllExport LLVMTargetDataRef SWIGSTDCALL Ada_LLVMGetExecutionEngineTargetData (
void * jarg1
)
{
LLVMTargetDataRef jresult ;
LLVMExecutionEngineRef arg1 = (LLVMExecutionEngineRef) 0 ;
LLVMTargetDataRef result;
arg1 = (LLVMExecutionEngineRef)jarg1;
result = LLVMGetExecutionEngineTargetData(arg1);
jresult = result;
//jresult = new LLVMTargetDataRef ((LLVMTargetDataRef &) result);
return jresult;
}
DllExport void SWIGSTDCALL Ada_LLVMAddGlobalMapping (
void * jarg1
,
void * jarg2
,
void* jarg3
)
{
LLVMExecutionEngineRef arg1 = (LLVMExecutionEngineRef) 0 ;
LLVMValueRef arg2 = (LLVMValueRef) 0 ;
void *arg3 = (void *) 0 ;
arg1 = (LLVMExecutionEngineRef)jarg1;
arg2 = (LLVMValueRef)jarg2;
arg3 = (void *)jarg3;
LLVMAddGlobalMapping(arg1,arg2,arg3);
}
DllExport void* SWIGSTDCALL Ada_LLVMGetPointerToGlobal (
void * jarg1
,
void * jarg2
)
{
void* jresult ;
LLVMExecutionEngineRef arg1 = (LLVMExecutionEngineRef) 0 ;
LLVMValueRef arg2 = (LLVMValueRef) 0 ;
void *result = 0 ;
arg1 = (LLVMExecutionEngineRef)jarg1;
arg2 = (LLVMValueRef)jarg2;
result = (void *)LLVMGetPointerToGlobal(arg1,arg2);
jresult = (void *) result;
return jresult;
}
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif

34
bindings/ada/llvm.gpr Normal file
View File

@ -0,0 +1,34 @@
project LLVM is
for Languages use ("Ada", "C++");
for Source_Dirs use (".", "analysis", "bitreader", "bitwriter", "executionengine", "llvm", "target", "transforms");
for Object_Dir use "build";
for Exec_Dir use ".";
for Library_Name use "llvm_ada";
for Library_Dir use "lib";
for Library_Ali_Dir use "objects";
package Naming is
for Specification_Suffix ("c++") use ".h";
for Implementation_Suffix ("c++") use ".cxx";
end Naming;
package Builder is
for Default_Switches ("ada") use ("-g");
end Builder;
package Compiler is
for Default_Switches ("ada") use ("-gnato", "-fstack-check", "-g", "-gnata", "-gnat05", "-I/usr/local/include");
for Default_Switches ("c++") use ("-D__STDC_LIMIT_MACROS", "-D__STDC_CONSTANT_MACROS", "-I../../include", "-g");
end Compiler;
package Binder is
for Default_Switches ("ada") use ("-E");
end Binder;
package Linker is
for Default_Switches ("c++") use ("-g");
end Linker;
end LLVM;

File diff suppressed because it is too large Load Diff

493
bindings/ada/llvm/llvm.ads Normal file
View File

@ -0,0 +1,493 @@
-- This file is generated by SWIG. Do *not* modify by hand.
--
with Interfaces.C.Extensions;
package llvm is
-- LLVMCtxt
--
type LLVMCtxt is new Interfaces.C.Extensions.opaque_structure_def;
type LLVMCtxt_array is
array (Interfaces.C.size_t range <>) of aliased llvm.LLVMCtxt;
type LLVMCtxt_view is access all llvm.LLVMCtxt;
-- LLVMContextRef
--
type LLVMContextRef is access all llvm.LLVMCtxt;
type LLVMContextRef_array is
array (Interfaces.C.size_t range <>) of aliased llvm.LLVMContextRef;
type LLVMContextRef_view is access all llvm.LLVMContextRef;
-- LLVMOpaqueModule
--
type LLVMOpaqueModule is new Interfaces.C.Extensions.opaque_structure_def;
type LLVMOpaqueModule_array is
array (Interfaces.C.size_t range <>) of aliased llvm.LLVMOpaqueModule;
type LLVMOpaqueModule_view is access all llvm.LLVMOpaqueModule;
-- LLVMModuleRef
--
type LLVMModuleRef is access all llvm.LLVMOpaqueModule;
type LLVMModuleRef_array is
array (Interfaces.C.size_t range <>) of aliased llvm.LLVMModuleRef;
type LLVMModuleRef_view is access all llvm.LLVMModuleRef;
-- LLVMOpaqueType
--
type LLVMOpaqueType is new Interfaces.C.Extensions.opaque_structure_def;
type LLVMOpaqueType_array is
array (Interfaces.C.size_t range <>) of aliased llvm.LLVMOpaqueType;
type LLVMOpaqueType_view is access all llvm.LLVMOpaqueType;
-- LLVMTypeRef
--
type LLVMTypeRef is access all llvm.LLVMOpaqueType;
type LLVMTypeRef_array is
array (Interfaces.C.size_t range <>) of aliased llvm.LLVMTypeRef;
type LLVMTypeRef_view is access all llvm.LLVMTypeRef;
-- LLVMOpaqueTypeHandle
--
type LLVMOpaqueTypeHandle is new
Interfaces.C.Extensions.opaque_structure_def;
type LLVMOpaqueTypeHandle_array is
array (Interfaces.C.size_t range <>)
of aliased llvm.LLVMOpaqueTypeHandle;
type LLVMOpaqueTypeHandle_view is access all llvm.LLVMOpaqueTypeHandle;
-- LLVMTypeHandleRef
--
type LLVMTypeHandleRef is access all llvm.LLVMOpaqueTypeHandle;
type LLVMTypeHandleRef_array is
array (Interfaces.C.size_t range <>)
of aliased llvm.LLVMTypeHandleRef;
type LLVMTypeHandleRef_view is access all llvm.LLVMTypeHandleRef;
-- LLVMOpaqueValue
--
type LLVMOpaqueValue is new Interfaces.C.Extensions.opaque_structure_def;
type LLVMOpaqueValue_array is
array (Interfaces.C.size_t range <>) of aliased llvm.LLVMOpaqueValue;
type LLVMOpaqueValue_view is access all llvm.LLVMOpaqueValue;
-- LLVMValueRef
--
type LLVMValueRef is access all llvm.LLVMOpaqueValue;
type LLVMValueRef_array is
array (Interfaces.C.size_t range <>) of aliased llvm.LLVMValueRef;
type LLVMValueRef_view is access all llvm.LLVMValueRef;
-- LLVMOpaqueBasicBlock
--
type LLVMOpaqueBasicBlock is new
Interfaces.C.Extensions.opaque_structure_def;
type LLVMOpaqueBasicBlock_array is
array (Interfaces.C.size_t range <>)
of aliased llvm.LLVMOpaqueBasicBlock;
type LLVMOpaqueBasicBlock_view is access all llvm.LLVMOpaqueBasicBlock;
-- LLVMBasicBlockRef
--
type LLVMBasicBlockRef is access all llvm.LLVMOpaqueBasicBlock;
type LLVMBasicBlockRef_array is
array (Interfaces.C.size_t range <>)
of aliased llvm.LLVMBasicBlockRef;
type LLVMBasicBlockRef_view is access all llvm.LLVMBasicBlockRef;
-- LLVMOpaqueBuilder
--
type LLVMOpaqueBuilder is new Interfaces.C.Extensions.opaque_structure_def;
type LLVMOpaqueBuilder_array is
array (Interfaces.C.size_t range <>)
of aliased llvm.LLVMOpaqueBuilder;
type LLVMOpaqueBuilder_view is access all llvm.LLVMOpaqueBuilder;
-- LLVMBuilderRef
--
type LLVMBuilderRef is access all llvm.LLVMOpaqueBuilder;
type LLVMBuilderRef_array is
array (Interfaces.C.size_t range <>) of aliased llvm.LLVMBuilderRef;
type LLVMBuilderRef_view is access all llvm.LLVMBuilderRef;
-- LLVMOpaqueModuleProvider
--
type LLVMOpaqueModuleProvider is new
Interfaces.C.Extensions.opaque_structure_def;
type LLVMOpaqueModuleProvider_array is
array (Interfaces.C.size_t range <>)
of aliased llvm.LLVMOpaqueModuleProvider;
type LLVMOpaqueModuleProvider_view is access all
llvm.LLVMOpaqueModuleProvider;
-- LLVMModuleProviderRef
--
type LLVMModuleProviderRef is access all llvm.LLVMOpaqueModuleProvider;
type LLVMModuleProviderRef_array is
array (Interfaces.C.size_t range <>)
of aliased llvm.LLVMModuleProviderRef;
type LLVMModuleProviderRef_view is access all llvm.LLVMModuleProviderRef;
-- LLVMOpaqueMemoryBuffer
--
type LLVMOpaqueMemoryBuffer is new
Interfaces.C.Extensions.opaque_structure_def;
type LLVMOpaqueMemoryBuffer_array is
array (Interfaces.C.size_t range <>)
of aliased llvm.LLVMOpaqueMemoryBuffer;
type LLVMOpaqueMemoryBuffer_view is access all llvm.LLVMOpaqueMemoryBuffer;
-- LLVMMemoryBufferRef
--
type LLVMMemoryBufferRef is access all llvm.LLVMOpaqueMemoryBuffer;
type LLVMMemoryBufferRef_array is
array (Interfaces.C.size_t range <>)
of aliased llvm.LLVMMemoryBufferRef;
type LLVMMemoryBufferRef_view is access all llvm.LLVMMemoryBufferRef;
-- LLVMOpaquePassManager
--
type LLVMOpaquePassManager is new
Interfaces.C.Extensions.opaque_structure_def;
type LLVMOpaquePassManager_array is
array (Interfaces.C.size_t range <>)
of aliased llvm.LLVMOpaquePassManager;
type LLVMOpaquePassManager_view is access all llvm.LLVMOpaquePassManager;
-- LLVMPassManagerRef
--
type LLVMPassManagerRef is access all llvm.LLVMOpaquePassManager;
type LLVMPassManagerRef_array is
array (Interfaces.C.size_t range <>)
of aliased llvm.LLVMPassManagerRef;
type LLVMPassManagerRef_view is access all llvm.LLVMPassManagerRef;
-- LLVMAttribute
--
type LLVMAttribute is (
LLVMZExtAttribute,
LLVMSExtAttribute,
LLVMNoReturnAttribute,
LLVMInRegAttribute,
LLVMStructRetAttribute,
LLVMNoUnwindAttribute,
LLVMNoAliasAttribute,
LLVMByValAttribute,
LLVMNestAttribute,
LLVMReadNoneAttribute,
LLVMReadOnlyAttribute,
LLVMNoInlineAttribute,
LLVMAlwaysInlineAttribute,
LLVMOptimizeForSizeAttribute,
LLVMStackProtectAttribute,
LLVMStackProtectReqAttribute,
LLVMNoCaptureAttribute,
LLVMNoRedZoneAttribute,
LLVMNoImplicitFloatAttribute,
LLVMNakedAttribute);
for LLVMAttribute use
(LLVMZExtAttribute => 1,
LLVMSExtAttribute => 2,
LLVMNoReturnAttribute => 4,
LLVMInRegAttribute => 8,
LLVMStructRetAttribute => 16,
LLVMNoUnwindAttribute => 32,
LLVMNoAliasAttribute => 64,
LLVMByValAttribute => 128,
LLVMNestAttribute => 256,
LLVMReadNoneAttribute => 512,
LLVMReadOnlyAttribute => 1024,
LLVMNoInlineAttribute => 2048,
LLVMAlwaysInlineAttribute => 4096,
LLVMOptimizeForSizeAttribute => 8192,
LLVMStackProtectAttribute => 16384,
LLVMStackProtectReqAttribute => 32768,
LLVMNoCaptureAttribute => 2097152,
LLVMNoRedZoneAttribute => 4194304,
LLVMNoImplicitFloatAttribute => 8388608,
LLVMNakedAttribute => 16777216);
pragma Convention (C, LLVMAttribute);
type LLVMAttribute_array is
array (Interfaces.C.size_t range <>) of aliased llvm.LLVMAttribute;
type LLVMAttribute_view is access all llvm.LLVMAttribute;
-- LLVMTypeKind
--
type LLVMTypeKind is (
LLVMVoidTypeKind,
LLVMFloatTypeKind,
LLVMDoubleTypeKind,
LLVMX86_FP80TypeKind,
LLVMFP128TypeKind,
LLVMPPC_FP128TypeKind,
LLVMLabelTypeKind,
LLVMIntegerTypeKind,
LLVMFunctionTypeKind,
LLVMStructTypeKind,
LLVMArrayTypeKind,
LLVMPointerTypeKind,
LLVMOpaqueTypeKind,
LLVMVectorTypeKind,
LLVMMetadataTypeKind);
for LLVMTypeKind use
(LLVMVoidTypeKind => 0,
LLVMFloatTypeKind => 1,
LLVMDoubleTypeKind => 2,
LLVMX86_FP80TypeKind => 3,
LLVMFP128TypeKind => 4,
LLVMPPC_FP128TypeKind => 5,
LLVMLabelTypeKind => 6,
LLVMIntegerTypeKind => 7,
LLVMFunctionTypeKind => 8,
LLVMStructTypeKind => 9,
LLVMArrayTypeKind => 10,
LLVMPointerTypeKind => 11,
LLVMOpaqueTypeKind => 12,
LLVMVectorTypeKind => 13,
LLVMMetadataTypeKind => 14);
pragma Convention (C, LLVMTypeKind);
type LLVMTypeKind_array is
array (Interfaces.C.size_t range <>) of aliased llvm.LLVMTypeKind;
type LLVMTypeKind_view is access all llvm.LLVMTypeKind;
-- LLVMLinkage
--
type LLVMLinkage is (
LLVMExternalLinkage,
LLVMAvailableExternallyLinkage,
LLVMLinkOnceAnyLinkage,
LLVMLinkOnceODRLinkage,
LLVMWeakAnyLinkage,
LLVMWeakODRLinkage,
LLVMAppendingLinkage,
LLVMInternalLinkage,
LLVMPrivateLinkage,
LLVMDLLImportLinkage,
LLVMDLLExportLinkage,
LLVMExternalWeakLinkage,
LLVMGhostLinkage,
LLVMCommonLinkage,
LLVMLinkerPrivateLinkage);
for LLVMLinkage use
(LLVMExternalLinkage => 0,
LLVMAvailableExternallyLinkage => 1,
LLVMLinkOnceAnyLinkage => 2,
LLVMLinkOnceODRLinkage => 3,
LLVMWeakAnyLinkage => 4,
LLVMWeakODRLinkage => 5,
LLVMAppendingLinkage => 6,
LLVMInternalLinkage => 7,
LLVMPrivateLinkage => 8,
LLVMDLLImportLinkage => 9,
LLVMDLLExportLinkage => 10,
LLVMExternalWeakLinkage => 11,
LLVMGhostLinkage => 12,
LLVMCommonLinkage => 13,
LLVMLinkerPrivateLinkage => 14);
pragma Convention (C, LLVMLinkage);
type LLVMLinkage_array is
array (Interfaces.C.size_t range <>) of aliased llvm.LLVMLinkage;
type LLVMLinkage_view is access all llvm.LLVMLinkage;
-- LLVMVisibility
--
type LLVMVisibility is (
LLVMDefaultVisibility,
LLVMHiddenVisibility,
LLVMProtectedVisibility);
for LLVMVisibility use
(LLVMDefaultVisibility => 0,
LLVMHiddenVisibility => 1,
LLVMProtectedVisibility => 2);
pragma Convention (C, LLVMVisibility);
type LLVMVisibility_array is
array (Interfaces.C.size_t range <>) of aliased llvm.LLVMVisibility;
type LLVMVisibility_view is access all llvm.LLVMVisibility;
-- LLVMCallConv
--
type LLVMCallConv is (
LLVMCCallConv,
LLVMFastCallConv,
LLVMColdCallConv,
LLVMX86StdcallCallConv,
LLVMX86FastcallCallConv);
for LLVMCallConv use
(LLVMCCallConv => 0,
LLVMFastCallConv => 8,
LLVMColdCallConv => 9,
LLVMX86StdcallCallConv => 64,
LLVMX86FastcallCallConv => 65);
pragma Convention (C, LLVMCallConv);
type LLVMCallConv_array is
array (Interfaces.C.size_t range <>) of aliased llvm.LLVMCallConv;
type LLVMCallConv_view is access all llvm.LLVMCallConv;
-- LLVMIntPredicate
--
type LLVMIntPredicate is (
LLVMIntEQ,
LLVMIntNE,
LLVMIntUGT,
LLVMIntUGE,
LLVMIntULT,
LLVMIntULE,
LLVMIntSGT,
LLVMIntSGE,
LLVMIntSLT,
LLVMIntSLE);
for LLVMIntPredicate use
(LLVMIntEQ => 32,
LLVMIntNE => 33,
LLVMIntUGT => 34,
LLVMIntUGE => 35,
LLVMIntULT => 36,
LLVMIntULE => 37,
LLVMIntSGT => 38,
LLVMIntSGE => 39,
LLVMIntSLT => 40,
LLVMIntSLE => 41);
pragma Convention (C, LLVMIntPredicate);
type LLVMIntPredicate_array is
array (Interfaces.C.size_t range <>) of aliased llvm.LLVMIntPredicate;
type LLVMIntPredicate_view is access all llvm.LLVMIntPredicate;
-- LLVMRealPredicate
--
type LLVMRealPredicate is (
LLVMRealPredicateFalse,
LLVMRealOEQ,
LLVMRealOGT,
LLVMRealOGE,
LLVMRealOLT,
LLVMRealOLE,
LLVMRealONE,
LLVMRealORD,
LLVMRealUNO,
LLVMRealUEQ,
LLVMRealUGT,
LLVMRealUGE,
LLVMRealULT,
LLVMRealULE,
LLVMRealUNE,
LLVMRealPredicateTrue);
for LLVMRealPredicate use
(LLVMRealPredicateFalse => 0,
LLVMRealOEQ => 1,
LLVMRealOGT => 2,
LLVMRealOGE => 3,
LLVMRealOLT => 4,
LLVMRealOLE => 5,
LLVMRealONE => 6,
LLVMRealORD => 7,
LLVMRealUNO => 8,
LLVMRealUEQ => 9,
LLVMRealUGT => 10,
LLVMRealUGE => 11,
LLVMRealULT => 12,
LLVMRealULE => 13,
LLVMRealUNE => 14,
LLVMRealPredicateTrue => 15);
pragma Convention (C, LLVMRealPredicate);
type LLVMRealPredicate_array is
array (Interfaces.C.size_t range <>)
of aliased llvm.LLVMRealPredicate;
type LLVMRealPredicate_view is access all llvm.LLVMRealPredicate;
-- ModuleProvider
--
type ModuleProvider is new Interfaces.C.Extensions.incomplete_class_def;
type ModuleProvider_array is
array (Interfaces.C.size_t range <>) of aliased llvm.ModuleProvider;
type ModuleProvider_view is access all llvm.ModuleProvider;
-- MemoryBuffer
--
type MemoryBuffer is new Interfaces.C.Extensions.incomplete_class_def;
type MemoryBuffer_array is
array (Interfaces.C.size_t range <>) of aliased llvm.MemoryBuffer;
type MemoryBuffer_view is access all llvm.MemoryBuffer;
-- PassManagerBase
--
type PassManagerBase is new Interfaces.C.Extensions.incomplete_class_def;
type PassManagerBase_array is
array (Interfaces.C.size_t range <>) of aliased llvm.PassManagerBase;
type PassManagerBase_view is access all llvm.PassManagerBase;
end llvm;

View File

@ -0,0 +1,207 @@
-- This file is generated by SWIG. Do *not* modify by hand.
--
with Interfaces.C.Strings;
package LLVM_link_time_Optimizer.Binding is
LTO_H : constant := 1;
LTO_API_VERSION : constant := 3;
function lto_get_version return Interfaces.C.Strings.chars_ptr;
function lto_get_error_message return Interfaces.C.Strings.chars_ptr;
function lto_module_is_object_file
(path : in Interfaces.C.Strings.chars_ptr)
return Interfaces.C.Extensions.bool;
function lto_module_is_object_file_for_target
(path : in Interfaces.C.Strings.chars_ptr;
target_triple_prefix : in Interfaces.C.Strings.chars_ptr)
return Interfaces.C.Extensions.bool;
function lto_module_is_object_file_in_memory
(mem : access Interfaces.C.Extensions.void;
length : in Interfaces.C.size_t)
return Interfaces.C.Extensions.bool;
function lto_module_is_object_file_in_memory_for_target
(mem : access Interfaces.C.Extensions.void;
length : in Interfaces.C.size_t;
target_triple_prefix : in Interfaces.C.Strings.chars_ptr)
return Interfaces.C.Extensions.bool;
function lto_module_create
(path : in Interfaces.C.Strings.chars_ptr)
return LLVM_link_time_Optimizer.lto_module_t;
function lto_module_create_from_memory
(mem : access Interfaces.C.Extensions.void;
length : in Interfaces.C.size_t)
return LLVM_link_time_Optimizer.lto_module_t;
procedure lto_module_dispose
(the_mod : in LLVM_link_time_Optimizer.lto_module_t);
function lto_module_get_target_triple
(the_mod : in LLVM_link_time_Optimizer.lto_module_t)
return Interfaces.C.Strings.chars_ptr;
function lto_module_get_num_symbols
(the_mod : in LLVM_link_time_Optimizer.lto_module_t)
return Interfaces.C.unsigned;
function lto_module_get_symbol_name
(the_mod : in LLVM_link_time_Optimizer.lto_module_t;
index : in Interfaces.C.unsigned)
return Interfaces.C.Strings.chars_ptr;
function lto_module_get_symbol_attribute
(the_mod : in LLVM_link_time_Optimizer.lto_module_t;
index : in Interfaces.C.unsigned)
return LLVM_link_time_Optimizer.lto_symbol_attributes;
function lto_codegen_create return LLVM_link_time_Optimizer.lto_code_gen_t;
procedure lto_codegen_dispose
(arg_1 : in LLVM_link_time_Optimizer.lto_code_gen_t);
function lto_codegen_add_module
(cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
the_mod : in LLVM_link_time_Optimizer.lto_module_t)
return Interfaces.C.Extensions.bool;
function lto_codegen_set_debug_model
(cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
arg_1 : in LLVM_link_time_Optimizer.lto_debug_model)
return Interfaces.C.Extensions.bool;
function lto_codegen_set_pic_model
(cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
arg_1 : in LLVM_link_time_Optimizer.lto_codegen_model)
return Interfaces.C.Extensions.bool;
procedure lto_codegen_set_gcc_path
(cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
path : in Interfaces.C.Strings.chars_ptr);
procedure lto_codegen_set_assembler_path
(cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
path : in Interfaces.C.Strings.chars_ptr);
procedure lto_codegen_add_must_preserve_symbol
(cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
symbol : in Interfaces.C.Strings.chars_ptr);
function lto_codegen_write_merged_modules
(cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
path : in Interfaces.C.Strings.chars_ptr)
return Interfaces.C.Extensions.bool;
function lto_codegen_compile
(cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
length : access Interfaces.C.size_t)
return access Interfaces.C.Extensions.void;
procedure lto_codegen_debug_options
(cg : in LLVM_link_time_Optimizer.lto_code_gen_t;
arg_1 : in Interfaces.C.Strings.chars_ptr);
function llvm_create_optimizer return
LLVM_link_time_Optimizer.llvm_lto_t;
procedure llvm_destroy_optimizer
(lto : in LLVM_link_time_Optimizer.llvm_lto_t);
function llvm_read_object_file
(lto : in LLVM_link_time_Optimizer.llvm_lto_t;
input_filename : in Interfaces.C.Strings.chars_ptr)
return LLVM_link_time_Optimizer.llvm_lto_status_t;
function llvm_optimize_modules
(lto : in LLVM_link_time_Optimizer.llvm_lto_t;
output_filename : in Interfaces.C.Strings.chars_ptr)
return LLVM_link_time_Optimizer.llvm_lto_status_t;
private
pragma Import (C, lto_get_version, "Ada_lto_get_version");
pragma Import (C, lto_get_error_message, "Ada_lto_get_error_message");
pragma Import
(C,
lto_module_is_object_file,
"Ada_lto_module_is_object_file");
pragma Import
(C,
lto_module_is_object_file_for_target,
"Ada_lto_module_is_object_file_for_target");
pragma Import
(C,
lto_module_is_object_file_in_memory,
"Ada_lto_module_is_object_file_in_memory");
pragma Import
(C,
lto_module_is_object_file_in_memory_for_target,
"Ada_lto_module_is_object_file_in_memory_for_target");
pragma Import (C, lto_module_create, "Ada_lto_module_create");
pragma Import
(C,
lto_module_create_from_memory,
"Ada_lto_module_create_from_memory");
pragma Import (C, lto_module_dispose, "Ada_lto_module_dispose");
pragma Import
(C,
lto_module_get_target_triple,
"Ada_lto_module_get_target_triple");
pragma Import
(C,
lto_module_get_num_symbols,
"Ada_lto_module_get_num_symbols");
pragma Import
(C,
lto_module_get_symbol_name,
"Ada_lto_module_get_symbol_name");
pragma Import
(C,
lto_module_get_symbol_attribute,
"Ada_lto_module_get_symbol_attribute");
pragma Import (C, lto_codegen_create, "Ada_lto_codegen_create");
pragma Import (C, lto_codegen_dispose, "Ada_lto_codegen_dispose");
pragma Import (C, lto_codegen_add_module, "Ada_lto_codegen_add_module");
pragma Import
(C,
lto_codegen_set_debug_model,
"Ada_lto_codegen_set_debug_model");
pragma Import
(C,
lto_codegen_set_pic_model,
"Ada_lto_codegen_set_pic_model");
pragma Import
(C,
lto_codegen_set_gcc_path,
"Ada_lto_codegen_set_gcc_path");
pragma Import
(C,
lto_codegen_set_assembler_path,
"Ada_lto_codegen_set_assembler_path");
pragma Import
(C,
lto_codegen_add_must_preserve_symbol,
"Ada_lto_codegen_add_must_preserve_symbol");
pragma Import
(C,
lto_codegen_write_merged_modules,
"Ada_lto_codegen_write_merged_modules");
pragma Import (C, lto_codegen_compile, "Ada_lto_codegen_compile");
pragma Import
(C,
lto_codegen_debug_options,
"Ada_lto_codegen_debug_options");
pragma Import (C, llvm_create_optimizer, "Ada_llvm_create_optimizer");
pragma Import (C, llvm_destroy_optimizer, "Ada_llvm_destroy_optimizer");
pragma Import (C, llvm_read_object_file, "Ada_llvm_read_object_file");
pragma Import (C, llvm_optimize_modules, "Ada_llvm_optimize_modules");
end LLVM_link_time_Optimizer.Binding;

View File

@ -0,0 +1,184 @@
-- This file is generated by SWIG. Do *not* modify by hand.
--
with Interfaces.C.Extensions;
package LLVM_link_time_Optimizer is
-- lto_symbol_attributes
--
type lto_symbol_attributes is (
LTO_SYMBOL_ALIGNMENT_MASK,
LTO_SYMBOL_PERMISSIONS_RODATA,
LTO_SYMBOL_PERMISSIONS_CODE,
LTO_SYMBOL_PERMISSIONS_DATA,
LTO_SYMBOL_PERMISSIONS_MASK,
LTO_SYMBOL_DEFINITION_REGULAR,
LTO_SYMBOL_DEFINITION_TENTATIVE,
LTO_SYMBOL_DEFINITION_WEAK,
LTO_SYMBOL_DEFINITION_UNDEFINED,
LTO_SYMBOL_DEFINITION_WEAKUNDEF,
LTO_SYMBOL_DEFINITION_MASK,
LTO_SYMBOL_SCOPE_INTERNAL,
LTO_SYMBOL_SCOPE_HIDDEN,
LTO_SYMBOL_SCOPE_DEFAULT,
LTO_SYMBOL_SCOPE_PROTECTED,
LTO_SYMBOL_SCOPE_MASK);
for lto_symbol_attributes use
(LTO_SYMBOL_ALIGNMENT_MASK => 31,
LTO_SYMBOL_PERMISSIONS_RODATA => 128,
LTO_SYMBOL_PERMISSIONS_CODE => 160,
LTO_SYMBOL_PERMISSIONS_DATA => 192,
LTO_SYMBOL_PERMISSIONS_MASK => 224,
LTO_SYMBOL_DEFINITION_REGULAR => 256,
LTO_SYMBOL_DEFINITION_TENTATIVE => 512,
LTO_SYMBOL_DEFINITION_WEAK => 768,
LTO_SYMBOL_DEFINITION_UNDEFINED => 1024,
LTO_SYMBOL_DEFINITION_WEAKUNDEF => 1280,
LTO_SYMBOL_DEFINITION_MASK => 1792,
LTO_SYMBOL_SCOPE_INTERNAL => 2048,
LTO_SYMBOL_SCOPE_HIDDEN => 4096,
LTO_SYMBOL_SCOPE_DEFAULT => 6144,
LTO_SYMBOL_SCOPE_PROTECTED => 8192,
LTO_SYMBOL_SCOPE_MASK => 14336);
pragma Convention (C, lto_symbol_attributes);
type lto_symbol_attributes_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_link_time_Optimizer.lto_symbol_attributes;
type lto_symbol_attributes_view is access all
LLVM_link_time_Optimizer.lto_symbol_attributes;
-- lto_debug_model
--
type lto_debug_model is (LTO_DEBUG_MODEL_NONE, LTO_DEBUG_MODEL_DWARF);
for lto_debug_model use
(LTO_DEBUG_MODEL_NONE => 0,
LTO_DEBUG_MODEL_DWARF => 1);
pragma Convention (C, lto_debug_model);
type lto_debug_model_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_link_time_Optimizer.lto_debug_model;
type lto_debug_model_view is access all
LLVM_link_time_Optimizer.lto_debug_model;
-- lto_codegen_model
--
type lto_codegen_model is (
LTO_CODEGEN_PIC_MODEL_STATIC,
LTO_CODEGEN_PIC_MODEL_DYNAMIC,
LTO_CODEGEN_PIC_MODEL_DYNAMIC_NO_PIC);
for lto_codegen_model use
(LTO_CODEGEN_PIC_MODEL_STATIC => 0,
LTO_CODEGEN_PIC_MODEL_DYNAMIC => 1,
LTO_CODEGEN_PIC_MODEL_DYNAMIC_NO_PIC => 2);
pragma Convention (C, lto_codegen_model);
type lto_codegen_model_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_link_time_Optimizer.lto_codegen_model;
type lto_codegen_model_view is access all
LLVM_link_time_Optimizer.lto_codegen_model;
-- LTOModule
--
type LTOModule is new Interfaces.C.Extensions.opaque_structure_def;
type LTOModule_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_link_time_Optimizer.LTOModule;
type LTOModule_view is access all LLVM_link_time_Optimizer.LTOModule;
-- lto_module_t
--
type lto_module_t is access all LLVM_link_time_Optimizer.LTOModule;
type lto_module_t_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_link_time_Optimizer.lto_module_t;
type lto_module_t_view is access all LLVM_link_time_Optimizer.lto_module_t;
-- LTOCodeGenerator
--
type LTOCodeGenerator is new Interfaces.C.Extensions.opaque_structure_def;
type LTOCodeGenerator_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_link_time_Optimizer.LTOCodeGenerator;
type LTOCodeGenerator_view is access all
LLVM_link_time_Optimizer.LTOCodeGenerator;
-- lto_code_gen_t
--
type lto_code_gen_t is access all LLVM_link_time_Optimizer.LTOCodeGenerator;
type lto_code_gen_t_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_link_time_Optimizer.lto_code_gen_t;
type lto_code_gen_t_view is access all
LLVM_link_time_Optimizer.lto_code_gen_t;
-- llvm_lto_status_t
--
type llvm_lto_status_t is (
LLVM_LTO_UNKNOWN,
LLVM_LTO_OPT_SUCCESS,
LLVM_LTO_READ_SUCCESS,
LLVM_LTO_READ_FAILURE,
LLVM_LTO_WRITE_FAILURE,
LLVM_LTO_NO_TARGET,
LLVM_LTO_NO_WORK,
LLVM_LTO_MODULE_MERGE_FAILURE,
LLVM_LTO_ASM_FAILURE,
LLVM_LTO_NULL_OBJECT);
for llvm_lto_status_t use
(LLVM_LTO_UNKNOWN => 0,
LLVM_LTO_OPT_SUCCESS => 1,
LLVM_LTO_READ_SUCCESS => 2,
LLVM_LTO_READ_FAILURE => 3,
LLVM_LTO_WRITE_FAILURE => 4,
LLVM_LTO_NO_TARGET => 5,
LLVM_LTO_NO_WORK => 6,
LLVM_LTO_MODULE_MERGE_FAILURE => 7,
LLVM_LTO_ASM_FAILURE => 8,
LLVM_LTO_NULL_OBJECT => 9);
pragma Convention (C, llvm_lto_status_t);
type llvm_lto_status_t_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_link_time_Optimizer.llvm_lto_status_t;
type llvm_lto_status_t_view is access all
LLVM_link_time_Optimizer.llvm_lto_status_t;
-- llvm_lto_t
--
type llvm_lto_t is access all Interfaces.C.Extensions.void;
type llvm_lto_t_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_link_time_Optimizer.llvm_lto_t;
type llvm_lto_t_view is access all
LLVM_link_time_Optimizer.llvm_lto_t;
end LLVM_link_time_Optimizer;

View File

@ -0,0 +1,923 @@
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 1.3.36
*
* This file is not intended to be easily readable and contains a number of
* coding conventions designed to improve portability and efficiency. Do not make
* changes to this file unless you know what you are doing--modify the SWIG
* interface file instead.
* ----------------------------------------------------------------------------- */
#ifdef __cplusplus
template<typename T> class SwigValueWrapper {
T *tt;
public:
SwigValueWrapper() : tt(0) { }
SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
SwigValueWrapper(const T& t) : tt(new T(t)) { }
~SwigValueWrapper() { delete tt; }
SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
operator T&() const { return *tt; }
T *operator&() { return tt; }
private:
SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
};
template <typename T> T SwigValueInit() {
return T();
}
#endif
/* -----------------------------------------------------------------------------
* This section contains generic SWIG labels for method/variable
* declarations/attributes, and other compiler dependent labels.
* ----------------------------------------------------------------------------- */
/* template workaround for compilers that cannot correctly implement the C++ standard */
#ifndef SWIGTEMPLATEDISAMBIGUATOR
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
# define SWIGTEMPLATEDISAMBIGUATOR template
# elif defined(__HP_aCC)
/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
# define SWIGTEMPLATEDISAMBIGUATOR template
# else
# define SWIGTEMPLATEDISAMBIGUATOR
# endif
#endif
/* inline attribute */
#ifndef SWIGINLINE
# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
# define SWIGINLINE inline
# else
# define SWIGINLINE
# endif
#endif
/* attribute recognised by some compilers to avoid 'unused' warnings */
#ifndef SWIGUNUSED
# if defined(__GNUC__)
# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
# define SWIGUNUSED __attribute__ ((__unused__))
# else
# define SWIGUNUSED
# endif
# elif defined(__ICC)
# define SWIGUNUSED __attribute__ ((__unused__))
# else
# define SWIGUNUSED
# endif
#endif
#ifndef SWIGUNUSEDPARM
# ifdef __cplusplus
# define SWIGUNUSEDPARM(p)
# else
# define SWIGUNUSEDPARM(p) p SWIGUNUSED
# endif
#endif
/* internal SWIG method */
#ifndef SWIGINTERN
# define SWIGINTERN static SWIGUNUSED
#endif
/* internal inline SWIG method */
#ifndef SWIGINTERNINLINE
# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
#endif
/* exporting methods */
#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
# ifndef GCC_HASCLASSVISIBILITY
# define GCC_HASCLASSVISIBILITY
# endif
#endif
#ifndef SWIGEXPORT
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
# if defined(STATIC_LINKED)
# define SWIGEXPORT
# else
# define SWIGEXPORT __declspec(dllexport)
# endif
# else
# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
# define SWIGEXPORT __attribute__ ((visibility("default")))
# else
# define SWIGEXPORT
# endif
# endif
#endif
/* calling conventions for Windows */
#ifndef SWIGSTDCALL
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
# define SWIGSTDCALL __stdcall
# else
# define SWIGSTDCALL
# endif
#endif
/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
# define _CRT_SECURE_NO_DEPRECATE
#endif
/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
# define _SCL_SECURE_NO_DEPRECATE
#endif
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#if defined(_WIN32) || defined(__CYGWIN32__)
# define DllExport __declspec( dllexport )
# define SWIGSTDCALL __stdcall
#else
# define DllExport
# define SWIGSTDCALL
#endif
#ifdef __cplusplus
# include <new>
#endif
/* Support for throwing Ada exceptions from C/C++ */
typedef enum
{
SWIG_AdaException,
SWIG_AdaOutOfMemoryException,
SWIG_AdaIndexOutOfRangeException,
SWIG_AdaDivideByZeroException,
SWIG_AdaArgumentOutOfRangeException,
SWIG_AdaNullReferenceException
} SWIG_AdaExceptionCodes;
typedef void (SWIGSTDCALL* SWIG_AdaExceptionCallback_t)(const char *);
typedef struct
{
SWIG_AdaExceptionCodes code;
SWIG_AdaExceptionCallback_t callback;
}
SWIG_AdaExceptions_t;
static
SWIG_AdaExceptions_t
SWIG_ada_exceptions[] =
{
{ SWIG_AdaException, NULL },
{ SWIG_AdaOutOfMemoryException, NULL },
{ SWIG_AdaIndexOutOfRangeException, NULL },
{ SWIG_AdaDivideByZeroException, NULL },
{ SWIG_AdaArgumentOutOfRangeException, NULL },
{ SWIG_AdaNullReferenceException, NULL }
};
static
void
SWIG_AdaThrowException (SWIG_AdaExceptionCodes code, const char *msg)
{
SWIG_AdaExceptionCallback_t callback = SWIG_ada_exceptions[SWIG_AdaException].callback;
if (code >=0 && (size_t)code < sizeof(SWIG_ada_exceptions)/sizeof(SWIG_AdaExceptions_t)) {
callback = SWIG_ada_exceptions[code].callback;
}
callback(msg);
}
#ifdef __cplusplus
extern "C"
#endif
DllExport void SWIGSTDCALL SWIGRegisterExceptionCallbacks_LLVM_link_time_Optimizer (SWIG_AdaExceptionCallback_t systemException,
SWIG_AdaExceptionCallback_t outOfMemory,
SWIG_AdaExceptionCallback_t indexOutOfRange,
SWIG_AdaExceptionCallback_t divideByZero,
SWIG_AdaExceptionCallback_t argumentOutOfRange,
SWIG_AdaExceptionCallback_t nullReference)
{
SWIG_ada_exceptions [SWIG_AdaException].callback = systemException;
SWIG_ada_exceptions [SWIG_AdaOutOfMemoryException].callback = outOfMemory;
SWIG_ada_exceptions [SWIG_AdaIndexOutOfRangeException].callback = indexOutOfRange;
SWIG_ada_exceptions [SWIG_AdaDivideByZeroException].callback = divideByZero;
SWIG_ada_exceptions [SWIG_AdaArgumentOutOfRangeException].callback = argumentOutOfRange;
SWIG_ada_exceptions [SWIG_AdaNullReferenceException].callback = nullReference;
}
/* Callback for returning strings to Ada without leaking memory */
typedef char * (SWIGSTDCALL* SWIG_AdaStringHelperCallback)(const char *);
static SWIG_AdaStringHelperCallback SWIG_ada_string_callback = NULL;
/* probably obsolete ...
#ifdef __cplusplus
extern "C"
#endif
DllExport void SWIGSTDCALL SWIGRegisterStringCallback_LLVM_link_time_Optimizer(SWIG_AdaStringHelperCallback callback) {
SWIG_ada_string_callback = callback;
}
*/
/* Contract support */
#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_AdaThrowException(SWIG_AdaArgumentOutOfRangeException, msg); return nullreturn; } else
#define protected public
#define private public
#include "llvm-c/lto.h"
#include "llvm-c/LinkTimeOptimizer.h"
// struct LLVMCtxt;
#undef protected
#undef private
#ifdef __cplusplus
extern "C" {
#endif
DllExport char * SWIGSTDCALL Ada_lto_get_version (
)
{
char * jresult ;
char *result = 0 ;
result = (char *)lto_get_version();
jresult = result;
return jresult;
}
DllExport char * SWIGSTDCALL Ada_lto_get_error_message (
)
{
char * jresult ;
char *result = 0 ;
result = (char *)lto_get_error_message();
jresult = result;
return jresult;
}
DllExport unsigned int SWIGSTDCALL Ada_lto_module_is_object_file (
char * jarg1
)
{
unsigned int jresult ;
char *arg1 = (char *) 0 ;
bool result;
arg1 = jarg1;
result = (bool)lto_module_is_object_file((char const *)arg1);
jresult = result;
return jresult;
}
DllExport unsigned int SWIGSTDCALL Ada_lto_module_is_object_file_for_target (
char * jarg1
,
char * jarg2
)
{
unsigned int jresult ;
char *arg1 = (char *) 0 ;
char *arg2 = (char *) 0 ;
bool result;
arg1 = jarg1;
arg2 = jarg2;
result = (bool)lto_module_is_object_file_for_target((char const *)arg1,(char const *)arg2);
jresult = result;
return jresult;
}
DllExport unsigned int SWIGSTDCALL Ada_lto_module_is_object_file_in_memory (
void* jarg1
,
size_t jarg2
)
{
unsigned int jresult ;
void *arg1 = (void *) 0 ;
size_t arg2 ;
bool result;
arg1 = (void *)jarg1;
arg2 = (size_t) jarg2;
result = (bool)lto_module_is_object_file_in_memory((void const *)arg1,arg2);
jresult = result;
return jresult;
}
DllExport unsigned int SWIGSTDCALL Ada_lto_module_is_object_file_in_memory_for_target (
void* jarg1
,
size_t jarg2
,
char * jarg3
)
{
unsigned int jresult ;
void *arg1 = (void *) 0 ;
size_t arg2 ;
char *arg3 = (char *) 0 ;
bool result;
arg1 = (void *)jarg1;
arg2 = (size_t) jarg2;
arg3 = jarg3;
result = (bool)lto_module_is_object_file_in_memory_for_target((void const *)arg1,arg2,(char const *)arg3);
jresult = result;
return jresult;
}
DllExport void * SWIGSTDCALL Ada_lto_module_create (
char * jarg1
)
{
void * jresult ;
char *arg1 = (char *) 0 ;
lto_module_t result;
arg1 = jarg1;
result = (lto_module_t)lto_module_create((char const *)arg1);
jresult = (void *) result;
return jresult;
}
DllExport void * SWIGSTDCALL Ada_lto_module_create_from_memory (
void* jarg1
,
size_t jarg2
)
{
void * jresult ;
void *arg1 = (void *) 0 ;
size_t arg2 ;
lto_module_t result;
arg1 = (void *)jarg1;
arg2 = (size_t) jarg2;
result = (lto_module_t)lto_module_create_from_memory((void const *)arg1,arg2);
jresult = (void *) result;
return jresult;
}
DllExport void SWIGSTDCALL Ada_lto_module_dispose (
void * jarg1
)
{
lto_module_t arg1 = (lto_module_t) 0 ;
arg1 = (lto_module_t)jarg1;
lto_module_dispose(arg1);
}
DllExport char * SWIGSTDCALL Ada_lto_module_get_target_triple (
void * jarg1
)
{
char * jresult ;
lto_module_t arg1 = (lto_module_t) 0 ;
char *result = 0 ;
arg1 = (lto_module_t)jarg1;
result = (char *)lto_module_get_target_triple(arg1);
jresult = result;
return jresult;
}
DllExport unsigned int SWIGSTDCALL Ada_lto_module_get_num_symbols (
void * jarg1
)
{
unsigned int jresult ;
lto_module_t arg1 = (lto_module_t) 0 ;
unsigned int result;
arg1 = (lto_module_t)jarg1;
result = (unsigned int)lto_module_get_num_symbols(arg1);
jresult = result;
return jresult;
}
DllExport char * SWIGSTDCALL Ada_lto_module_get_symbol_name (
void * jarg1
,
unsigned int jarg2
)
{
char * jresult ;
lto_module_t arg1 = (lto_module_t) 0 ;
unsigned int arg2 ;
char *result = 0 ;
arg1 = (lto_module_t)jarg1;
arg2 = (unsigned int) jarg2;
result = (char *)lto_module_get_symbol_name(arg1,arg2);
jresult = result;
return jresult;
}
DllExport int SWIGSTDCALL Ada_lto_module_get_symbol_attribute (
void * jarg1
,
unsigned int jarg2
)
{
int jresult ;
lto_module_t arg1 = (lto_module_t) 0 ;
unsigned int arg2 ;
lto_symbol_attributes result;
arg1 = (lto_module_t)jarg1;
arg2 = (unsigned int) jarg2;
result = (lto_symbol_attributes)lto_module_get_symbol_attribute(arg1,arg2);
jresult = result;
return jresult;
}
DllExport void * SWIGSTDCALL Ada_lto_codegen_create (
)
{
void * jresult ;
lto_code_gen_t result;
result = (lto_code_gen_t)lto_codegen_create();
jresult = (void *) result;
return jresult;
}
DllExport void SWIGSTDCALL Ada_lto_codegen_dispose (
void * jarg1
)
{
lto_code_gen_t arg1 = (lto_code_gen_t) 0 ;
arg1 = (lto_code_gen_t)jarg1;
lto_codegen_dispose(arg1);
}
DllExport unsigned int SWIGSTDCALL Ada_lto_codegen_add_module (
void * jarg1
,
void * jarg2
)
{
unsigned int jresult ;
lto_code_gen_t arg1 = (lto_code_gen_t) 0 ;
lto_module_t arg2 = (lto_module_t) 0 ;
bool result;
arg1 = (lto_code_gen_t)jarg1;
arg2 = (lto_module_t)jarg2;
result = (bool)lto_codegen_add_module(arg1,arg2);
jresult = result;
return jresult;
}
DllExport unsigned int SWIGSTDCALL Ada_lto_codegen_set_debug_model (
void * jarg1
,
int jarg2
)
{
unsigned int jresult ;
lto_code_gen_t arg1 = (lto_code_gen_t) 0 ;
lto_debug_model arg2 ;
bool result;
arg1 = (lto_code_gen_t)jarg1;
arg2 = (lto_debug_model) jarg2;
result = (bool)lto_codegen_set_debug_model(arg1,arg2);
jresult = result;
return jresult;
}
DllExport unsigned int SWIGSTDCALL Ada_lto_codegen_set_pic_model (
void * jarg1
,
int jarg2
)
{
unsigned int jresult ;
lto_code_gen_t arg1 = (lto_code_gen_t) 0 ;
lto_codegen_model arg2 ;
bool result;
arg1 = (lto_code_gen_t)jarg1;
arg2 = (lto_codegen_model) jarg2;
result = (bool)lto_codegen_set_pic_model(arg1,arg2);
jresult = result;
return jresult;
}
DllExport void SWIGSTDCALL Ada_lto_codegen_set_gcc_path (
void * jarg1
,
char * jarg2
)
{
lto_code_gen_t arg1 = (lto_code_gen_t) 0 ;
char *arg2 = (char *) 0 ;
arg1 = (lto_code_gen_t)jarg1;
arg2 = jarg2;
lto_codegen_set_gcc_path(arg1,(char const *)arg2);
}
DllExport void SWIGSTDCALL Ada_lto_codegen_set_assembler_path (
void * jarg1
,
char * jarg2
)
{
lto_code_gen_t arg1 = (lto_code_gen_t) 0 ;
char *arg2 = (char *) 0 ;
arg1 = (lto_code_gen_t)jarg1;
arg2 = jarg2;
lto_codegen_set_assembler_path(arg1,(char const *)arg2);
}
DllExport void SWIGSTDCALL Ada_lto_codegen_add_must_preserve_symbol (
void * jarg1
,
char * jarg2
)
{
lto_code_gen_t arg1 = (lto_code_gen_t) 0 ;
char *arg2 = (char *) 0 ;
arg1 = (lto_code_gen_t)jarg1;
arg2 = jarg2;
lto_codegen_add_must_preserve_symbol(arg1,(char const *)arg2);
}
DllExport unsigned int SWIGSTDCALL Ada_lto_codegen_write_merged_modules (
void * jarg1
,
char * jarg2
)
{
unsigned int jresult ;
lto_code_gen_t arg1 = (lto_code_gen_t) 0 ;
char *arg2 = (char *) 0 ;
bool result;
arg1 = (lto_code_gen_t)jarg1;
arg2 = jarg2;
result = (bool)lto_codegen_write_merged_modules(arg1,(char const *)arg2);
jresult = result;
return jresult;
}
DllExport void* SWIGSTDCALL Ada_lto_codegen_compile (
void * jarg1
,
size_t* jarg2
)
{
void* jresult ;
lto_code_gen_t arg1 = (lto_code_gen_t) 0 ;
size_t *arg2 = (size_t *) 0 ;
void *result = 0 ;
arg1 = (lto_code_gen_t)jarg1;
arg2 = (size_t *) jarg2;
result = (void *)lto_codegen_compile(arg1,arg2);
jresult = (void *) result;
return jresult;
}
DllExport void SWIGSTDCALL Ada_lto_codegen_debug_options (
void * jarg1
,
char * jarg2
)
{
lto_code_gen_t arg1 = (lto_code_gen_t) 0 ;
char *arg2 = (char *) 0 ;
arg1 = (lto_code_gen_t)jarg1;
arg2 = jarg2;
lto_codegen_debug_options(arg1,(char const *)arg2);
}
DllExport void* SWIGSTDCALL Ada_llvm_create_optimizer (
)
{
void* jresult ;
llvm_lto_t result;
result = (llvm_lto_t)llvm_create_optimizer();
jresult = (void *) result;
return jresult;
}
DllExport void SWIGSTDCALL Ada_llvm_destroy_optimizer (
void* jarg1
)
{
llvm_lto_t arg1 = (llvm_lto_t) 0 ;
arg1 = (llvm_lto_t)jarg1;
llvm_destroy_optimizer(arg1);
}
DllExport int SWIGSTDCALL Ada_llvm_read_object_file (
void* jarg1
,
char * jarg2
)
{
int jresult ;
llvm_lto_t arg1 = (llvm_lto_t) 0 ;
char *arg2 = (char *) 0 ;
llvm_lto_status_t result;
arg1 = (llvm_lto_t)jarg1;
arg2 = jarg2;
result = (llvm_lto_status_t)llvm_read_object_file(arg1,(char const *)arg2);
jresult = result;
return jresult;
}
DllExport int SWIGSTDCALL Ada_llvm_optimize_modules (
void* jarg1
,
char * jarg2
)
{
int jresult ;
llvm_lto_t arg1 = (llvm_lto_t) 0 ;
char *arg2 = (char *) 0 ;
llvm_lto_status_t result;
arg1 = (llvm_lto_t)jarg1;
arg2 = jarg2;
result = (llvm_lto_status_t)llvm_optimize_modules(arg1,(char const *)arg2);
jresult = result;
return jresult;
}
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,138 @@
-- This file is generated by SWIG. Do *not* modify by hand.
--
with llvm;
with Interfaces.C.Strings;
package LLVM_Target.Binding is
LLVMBigEndian : constant := 0;
LLVMLittleEndian : constant := 1;
procedure LLVMInitializeAllTargets;
function LLVMInitializeNativeTarget return Interfaces.C.int;
function LLVMCreateTargetData
(StringRep : in Interfaces.C.Strings.chars_ptr)
return LLVM_Target.LLVMTargetDataRef;
procedure LLVMAddTargetData
(arg_2_1 : in LLVM_Target.LLVMTargetDataRef;
arg_2_2 : in llvm.LLVMPassManagerRef);
function LLVMCopyStringRepOfTargetData
(arg_1 : in LLVM_Target.LLVMTargetDataRef)
return Interfaces.C.Strings.chars_ptr;
function LLVMByteOrder
(arg_1 : in LLVM_Target.LLVMTargetDataRef)
return LLVM_Target.LLVMByteOrdering;
function LLVMPointerSize
(arg_1 : in LLVM_Target.LLVMTargetDataRef)
return Interfaces.C.unsigned;
function LLVMIntPtrType
(arg_1 : in LLVM_Target.LLVMTargetDataRef)
return llvm.LLVMTypeRef;
function LLVMSizeOfTypeInBits
(arg_2_1 : in LLVM_Target.LLVMTargetDataRef;
arg_2_2 : in llvm.LLVMTypeRef)
return Interfaces.C.Extensions.unsigned_long_long;
function LLVMStoreSizeOfType
(arg_2_1 : in LLVM_Target.LLVMTargetDataRef;
arg_2_2 : in llvm.LLVMTypeRef)
return Interfaces.C.Extensions.unsigned_long_long;
function LLVMABISizeOfType
(arg_2_1 : in LLVM_Target.LLVMTargetDataRef;
arg_2_2 : in llvm.LLVMTypeRef)
return Interfaces.C.Extensions.unsigned_long_long;
function LLVMABIAlignmentOfType
(arg_2_1 : in LLVM_Target.LLVMTargetDataRef;
arg_2_2 : in llvm.LLVMTypeRef)
return Interfaces.C.unsigned;
function LLVMCallFrameAlignmentOfType
(arg_2_1 : in LLVM_Target.LLVMTargetDataRef;
arg_2_2 : in llvm.LLVMTypeRef)
return Interfaces.C.unsigned;
function LLVMPreferredAlignmentOfType
(arg_2_1 : in LLVM_Target.LLVMTargetDataRef;
arg_2_2 : in llvm.LLVMTypeRef)
return Interfaces.C.unsigned;
function LLVMPreferredAlignmentOfGlobal
(arg_1 : in LLVM_Target.LLVMTargetDataRef;
GlobalVar : in llvm.LLVMValueRef)
return Interfaces.C.unsigned;
function LLVMElementAtOffset
(arg_1 : in LLVM_Target.LLVMTargetDataRef;
StructTy : in llvm.LLVMTypeRef;
Offset : in Interfaces.C.Extensions.unsigned_long_long)
return Interfaces.C.unsigned;
function LLVMOffsetOfElement
(arg_1 : in LLVM_Target.LLVMTargetDataRef;
StructTy : in llvm.LLVMTypeRef;
Element : in Interfaces.C.unsigned)
return Interfaces.C.Extensions.unsigned_long_long;
procedure LLVMInvalidateStructLayout
(arg_1 : in LLVM_Target.LLVMTargetDataRef;
StructTy : in llvm.LLVMTypeRef);
procedure LLVMDisposeTargetData
(arg_1 : in LLVM_Target.LLVMTargetDataRef);
private
pragma Import
(C,
LLVMInitializeAllTargets,
"Ada_LLVMInitializeAllTargets");
pragma Import
(C,
LLVMInitializeNativeTarget,
"Ada_LLVMInitializeNativeTarget");
pragma Import (C, LLVMCreateTargetData, "Ada_LLVMCreateTargetData");
pragma Import (C, LLVMAddTargetData, "Ada_LLVMAddTargetData");
pragma Import
(C,
LLVMCopyStringRepOfTargetData,
"Ada_LLVMCopyStringRepOfTargetData");
pragma Import (C, LLVMByteOrder, "Ada_LLVMByteOrder");
pragma Import (C, LLVMPointerSize, "Ada_LLVMPointerSize");
pragma Import (C, LLVMIntPtrType, "Ada_LLVMIntPtrType");
pragma Import (C, LLVMSizeOfTypeInBits, "Ada_LLVMSizeOfTypeInBits");
pragma Import (C, LLVMStoreSizeOfType, "Ada_LLVMStoreSizeOfType");
pragma Import (C, LLVMABISizeOfType, "Ada_LLVMABISizeOfType");
pragma Import (C, LLVMABIAlignmentOfType, "Ada_LLVMABIAlignmentOfType");
pragma Import
(C,
LLVMCallFrameAlignmentOfType,
"Ada_LLVMCallFrameAlignmentOfType");
pragma Import
(C,
LLVMPreferredAlignmentOfType,
"Ada_LLVMPreferredAlignmentOfType");
pragma Import
(C,
LLVMPreferredAlignmentOfGlobal,
"Ada_LLVMPreferredAlignmentOfGlobal");
pragma Import (C, LLVMElementAtOffset, "Ada_LLVMElementAtOffset");
pragma Import (C, LLVMOffsetOfElement, "Ada_LLVMOffsetOfElement");
pragma Import
(C,
LLVMInvalidateStructLayout,
"Ada_LLVMInvalidateStructLayout");
pragma Import (C, LLVMDisposeTargetData, "Ada_LLVMDisposeTargetData");
end LLVM_Target.Binding;

View File

@ -0,0 +1,72 @@
-- This file is generated by SWIG. Do *not* modify by hand.
--
with Interfaces.C.Extensions;
package LLVM_Target is
-- LLVMOpaqueTargetData
--
type LLVMOpaqueTargetData is new
Interfaces.C.Extensions.opaque_structure_def;
type LLVMOpaqueTargetData_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_Target.LLVMOpaqueTargetData;
type LLVMOpaqueTargetData_view is access all
LLVM_Target.LLVMOpaqueTargetData;
-- LLVMTargetDataRef
--
type LLVMTargetDataRef is access all LLVM_Target.LLVMOpaqueTargetData;
type LLVMTargetDataRef_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_Target.LLVMTargetDataRef;
type LLVMTargetDataRef_view is access all LLVM_Target.LLVMTargetDataRef;
-- LLVMStructLayout
--
type LLVMStructLayout is new Interfaces.C.Extensions.opaque_structure_def;
type LLVMStructLayout_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_Target.LLVMStructLayout;
type LLVMStructLayout_view is access all LLVM_Target.LLVMStructLayout;
-- LLVMStructLayoutRef
--
type LLVMStructLayoutRef is access all LLVM_Target.LLVMStructLayout;
type LLVMStructLayoutRef_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_Target.LLVMStructLayoutRef;
type LLVMStructLayoutRef_view is access all LLVM_Target.LLVMStructLayoutRef;
-- TargetData
--
type TargetData is new Interfaces.C.Extensions.incomplete_class_def;
type TargetData_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_Target.TargetData;
type TargetData_view is access all LLVM_Target.TargetData;
-- LLVMByteOrdering
--
type LLVMByteOrdering is new Interfaces.C.int;
type LLVMByteOrdering_array is
array (Interfaces.C.size_t range <>)
of aliased LLVM_Target.LLVMByteOrdering;
type LLVMByteOrdering_view is access all LLVM_Target.LLVMByteOrdering;
end LLVM_Target;

View File

@ -0,0 +1,720 @@
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 1.3.36
*
* This file is not intended to be easily readable and contains a number of
* coding conventions designed to improve portability and efficiency. Do not make
* changes to this file unless you know what you are doing--modify the SWIG
* interface file instead.
* ----------------------------------------------------------------------------- */
#ifdef __cplusplus
template<typename T> class SwigValueWrapper {
T *tt;
public:
SwigValueWrapper() : tt(0) { }
SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
SwigValueWrapper(const T& t) : tt(new T(t)) { }
~SwigValueWrapper() { delete tt; }
SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
operator T&() const { return *tt; }
T *operator&() { return tt; }
private:
SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
};
template <typename T> T SwigValueInit() {
return T();
}
#endif
/* -----------------------------------------------------------------------------
* This section contains generic SWIG labels for method/variable
* declarations/attributes, and other compiler dependent labels.
* ----------------------------------------------------------------------------- */
/* template workaround for compilers that cannot correctly implement the C++ standard */
#ifndef SWIGTEMPLATEDISAMBIGUATOR
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
# define SWIGTEMPLATEDISAMBIGUATOR template
# elif defined(__HP_aCC)
/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
# define SWIGTEMPLATEDISAMBIGUATOR template
# else
# define SWIGTEMPLATEDISAMBIGUATOR
# endif
#endif
/* inline attribute */
#ifndef SWIGINLINE
# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
# define SWIGINLINE inline
# else
# define SWIGINLINE
# endif
#endif
/* attribute recognised by some compilers to avoid 'unused' warnings */
#ifndef SWIGUNUSED
# if defined(__GNUC__)
# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
# define SWIGUNUSED __attribute__ ((__unused__))
# else
# define SWIGUNUSED
# endif
# elif defined(__ICC)
# define SWIGUNUSED __attribute__ ((__unused__))
# else
# define SWIGUNUSED
# endif
#endif
#ifndef SWIGUNUSEDPARM
# ifdef __cplusplus
# define SWIGUNUSEDPARM(p)
# else
# define SWIGUNUSEDPARM(p) p SWIGUNUSED
# endif
#endif
/* internal SWIG method */
#ifndef SWIGINTERN
# define SWIGINTERN static SWIGUNUSED
#endif
/* internal inline SWIG method */
#ifndef SWIGINTERNINLINE
# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
#endif
/* exporting methods */
#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
# ifndef GCC_HASCLASSVISIBILITY
# define GCC_HASCLASSVISIBILITY
# endif
#endif
#ifndef SWIGEXPORT
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
# if defined(STATIC_LINKED)
# define SWIGEXPORT
# else
# define SWIGEXPORT __declspec(dllexport)
# endif
# else
# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
# define SWIGEXPORT __attribute__ ((visibility("default")))
# else
# define SWIGEXPORT
# endif
# endif
#endif
/* calling conventions for Windows */
#ifndef SWIGSTDCALL
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
# define SWIGSTDCALL __stdcall
# else
# define SWIGSTDCALL
# endif
#endif
/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
# define _CRT_SECURE_NO_DEPRECATE
#endif
/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
# define _SCL_SECURE_NO_DEPRECATE
#endif
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#if defined(_WIN32) || defined(__CYGWIN32__)
# define DllExport __declspec( dllexport )
# define SWIGSTDCALL __stdcall
#else
# define DllExport
# define SWIGSTDCALL
#endif
#ifdef __cplusplus
# include <new>
#endif
/* Support for throwing Ada exceptions from C/C++ */
typedef enum
{
SWIG_AdaException,
SWIG_AdaOutOfMemoryException,
SWIG_AdaIndexOutOfRangeException,
SWIG_AdaDivideByZeroException,
SWIG_AdaArgumentOutOfRangeException,
SWIG_AdaNullReferenceException
} SWIG_AdaExceptionCodes;
typedef void (SWIGSTDCALL* SWIG_AdaExceptionCallback_t)(const char *);
typedef struct
{
SWIG_AdaExceptionCodes code;
SWIG_AdaExceptionCallback_t callback;
}
SWIG_AdaExceptions_t;
static
SWIG_AdaExceptions_t
SWIG_ada_exceptions[] =
{
{ SWIG_AdaException, NULL },
{ SWIG_AdaOutOfMemoryException, NULL },
{ SWIG_AdaIndexOutOfRangeException, NULL },
{ SWIG_AdaDivideByZeroException, NULL },
{ SWIG_AdaArgumentOutOfRangeException, NULL },
{ SWIG_AdaNullReferenceException, NULL }
};
static
void
SWIG_AdaThrowException (SWIG_AdaExceptionCodes code, const char *msg)
{
SWIG_AdaExceptionCallback_t callback = SWIG_ada_exceptions[SWIG_AdaException].callback;
if (code >=0 && (size_t)code < sizeof(SWIG_ada_exceptions)/sizeof(SWIG_AdaExceptions_t)) {
callback = SWIG_ada_exceptions[code].callback;
}
callback(msg);
}
#ifdef __cplusplus
extern "C"
#endif
DllExport void SWIGSTDCALL SWIGRegisterExceptionCallbacks_LLVM_Target (SWIG_AdaExceptionCallback_t systemException,
SWIG_AdaExceptionCallback_t outOfMemory,
SWIG_AdaExceptionCallback_t indexOutOfRange,
SWIG_AdaExceptionCallback_t divideByZero,
SWIG_AdaExceptionCallback_t argumentOutOfRange,
SWIG_AdaExceptionCallback_t nullReference)
{
SWIG_ada_exceptions [SWIG_AdaException].callback = systemException;
SWIG_ada_exceptions [SWIG_AdaOutOfMemoryException].callback = outOfMemory;
SWIG_ada_exceptions [SWIG_AdaIndexOutOfRangeException].callback = indexOutOfRange;
SWIG_ada_exceptions [SWIG_AdaDivideByZeroException].callback = divideByZero;
SWIG_ada_exceptions [SWIG_AdaArgumentOutOfRangeException].callback = argumentOutOfRange;
SWIG_ada_exceptions [SWIG_AdaNullReferenceException].callback = nullReference;
}
/* Callback for returning strings to Ada without leaking memory */
typedef char * (SWIGSTDCALL* SWIG_AdaStringHelperCallback)(const char *);
static SWIG_AdaStringHelperCallback SWIG_ada_string_callback = NULL;
/* probably obsolete ...
#ifdef __cplusplus
extern "C"
#endif
DllExport void SWIGSTDCALL SWIGRegisterStringCallback_LLVM_Target(SWIG_AdaStringHelperCallback callback) {
SWIG_ada_string_callback = callback;
}
*/
/* Contract support */
#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_AdaThrowException(SWIG_AdaArgumentOutOfRangeException, msg); return nullreturn; } else
#define protected public
#define private public
#include "llvm-c/Target.h"
// struct LLVMCtxt;
#undef protected
#undef private
#ifdef __cplusplus
extern "C" {
#endif
DllExport void SWIGSTDCALL Ada_LLVMInitializeAllTargets (
)
{
LLVMInitializeAllTargets();
}
DllExport int SWIGSTDCALL Ada_LLVMInitializeNativeTarget (
)
{
int jresult ;
int result;
result = (int)LLVMInitializeNativeTarget();
jresult = result;
return jresult;
}
DllExport void * SWIGSTDCALL Ada_LLVMCreateTargetData (
char * jarg1
)
{
void * jresult ;
char *arg1 = (char *) 0 ;
LLVMTargetDataRef result;
arg1 = jarg1;
result = (LLVMTargetDataRef)LLVMCreateTargetData((char const *)arg1);
jresult = (void *) result;
return jresult;
}
DllExport void SWIGSTDCALL Ada_LLVMAddTargetData (
void * jarg1
,
void * jarg2
)
{
LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
LLVMPassManagerRef arg2 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMTargetDataRef)jarg1;
arg2 = (LLVMPassManagerRef)jarg2;
LLVMAddTargetData(arg1,arg2);
}
DllExport char * SWIGSTDCALL Ada_LLVMCopyStringRepOfTargetData (
void * jarg1
)
{
char * jresult ;
LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
char *result = 0 ;
arg1 = (LLVMTargetDataRef)jarg1;
result = (char *)LLVMCopyStringRepOfTargetData(arg1);
jresult = result;
return jresult;
}
DllExport int SWIGSTDCALL Ada_LLVMByteOrder (
void * jarg1
)
{
int jresult ;
LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
LLVMByteOrdering result;
arg1 = (LLVMTargetDataRef)jarg1;
result = (LLVMByteOrdering)LLVMByteOrder(arg1);
jresult = result;
return jresult;
}
DllExport unsigned int SWIGSTDCALL Ada_LLVMPointerSize (
void * jarg1
)
{
unsigned int jresult ;
LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
unsigned int result;
arg1 = (LLVMTargetDataRef)jarg1;
result = (unsigned int)LLVMPointerSize(arg1);
jresult = result;
return jresult;
}
DllExport void * SWIGSTDCALL Ada_LLVMIntPtrType (
void * jarg1
)
{
void * jresult ;
LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
LLVMTypeRef result;
arg1 = (LLVMTargetDataRef)jarg1;
result = (LLVMTypeRef)LLVMIntPtrType(arg1);
jresult = (void *) result;
return jresult;
}
DllExport unsigned long long SWIGSTDCALL Ada_LLVMSizeOfTypeInBits (
void * jarg1
,
void * jarg2
)
{
unsigned long long jresult ;
LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
unsigned long long result;
arg1 = (LLVMTargetDataRef)jarg1;
arg2 = (LLVMTypeRef)jarg2;
result = (unsigned long long)LLVMSizeOfTypeInBits(arg1,arg2);
jresult = result;
return jresult;
}
DllExport unsigned long long SWIGSTDCALL Ada_LLVMStoreSizeOfType (
void * jarg1
,
void * jarg2
)
{
unsigned long long jresult ;
LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
unsigned long long result;
arg1 = (LLVMTargetDataRef)jarg1;
arg2 = (LLVMTypeRef)jarg2;
result = (unsigned long long)LLVMStoreSizeOfType(arg1,arg2);
jresult = result;
return jresult;
}
DllExport unsigned long long SWIGSTDCALL Ada_LLVMABISizeOfType (
void * jarg1
,
void * jarg2
)
{
unsigned long long jresult ;
LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
unsigned long long result;
arg1 = (LLVMTargetDataRef)jarg1;
arg2 = (LLVMTypeRef)jarg2;
result = (unsigned long long)LLVMABISizeOfType(arg1,arg2);
jresult = result;
return jresult;
}
DllExport unsigned int SWIGSTDCALL Ada_LLVMABIAlignmentOfType (
void * jarg1
,
void * jarg2
)
{
unsigned int jresult ;
LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
unsigned int result;
arg1 = (LLVMTargetDataRef)jarg1;
arg2 = (LLVMTypeRef)jarg2;
result = (unsigned int)LLVMABIAlignmentOfType(arg1,arg2);
jresult = result;
return jresult;
}
DllExport unsigned int SWIGSTDCALL Ada_LLVMCallFrameAlignmentOfType (
void * jarg1
,
void * jarg2
)
{
unsigned int jresult ;
LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
unsigned int result;
arg1 = (LLVMTargetDataRef)jarg1;
arg2 = (LLVMTypeRef)jarg2;
result = (unsigned int)LLVMCallFrameAlignmentOfType(arg1,arg2);
jresult = result;
return jresult;
}
DllExport unsigned int SWIGSTDCALL Ada_LLVMPreferredAlignmentOfType (
void * jarg1
,
void * jarg2
)
{
unsigned int jresult ;
LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
unsigned int result;
arg1 = (LLVMTargetDataRef)jarg1;
arg2 = (LLVMTypeRef)jarg2;
result = (unsigned int)LLVMPreferredAlignmentOfType(arg1,arg2);
jresult = result;
return jresult;
}
DllExport unsigned int SWIGSTDCALL Ada_LLVMPreferredAlignmentOfGlobal (
void * jarg1
,
void * jarg2
)
{
unsigned int jresult ;
LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
LLVMValueRef arg2 = (LLVMValueRef) 0 ;
unsigned int result;
arg1 = (LLVMTargetDataRef)jarg1;
arg2 = (LLVMValueRef)jarg2;
result = (unsigned int)LLVMPreferredAlignmentOfGlobal(arg1,arg2);
jresult = result;
return jresult;
}
DllExport unsigned int SWIGSTDCALL Ada_LLVMElementAtOffset (
void * jarg1
,
void * jarg2
,
unsigned long long jarg3
)
{
unsigned int jresult ;
LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
unsigned long long arg3 ;
unsigned int result;
arg1 = (LLVMTargetDataRef)jarg1;
arg2 = (LLVMTypeRef)jarg2;
arg3 = (unsigned long long) jarg3;
result = (unsigned int)LLVMElementAtOffset(arg1,arg2,arg3);
jresult = result;
return jresult;
}
DllExport unsigned long long SWIGSTDCALL Ada_LLVMOffsetOfElement (
void * jarg1
,
void * jarg2
,
unsigned int jarg3
)
{
unsigned long long jresult ;
LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
unsigned int arg3 ;
unsigned long long result;
arg1 = (LLVMTargetDataRef)jarg1;
arg2 = (LLVMTypeRef)jarg2;
arg3 = (unsigned int) jarg3;
result = (unsigned long long)LLVMOffsetOfElement(arg1,arg2,arg3);
jresult = result;
return jresult;
}
DllExport void SWIGSTDCALL Ada_LLVMInvalidateStructLayout (
void * jarg1
,
void * jarg2
)
{
LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
LLVMTypeRef arg2 = (LLVMTypeRef) 0 ;
arg1 = (LLVMTargetDataRef)jarg1;
arg2 = (LLVMTypeRef)jarg2;
LLVMInvalidateStructLayout(arg1,arg2);
}
DllExport void SWIGSTDCALL Ada_LLVMDisposeTargetData (
void * jarg1
)
{
LLVMTargetDataRef arg1 = (LLVMTargetDataRef) 0 ;
arg1 = (LLVMTargetDataRef)jarg1;
LLVMDisposeTargetData(arg1);
}
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif

View File

@ -0,0 +1,206 @@
-- This file is generated by SWIG. Do *not* modify by hand.
--
with llvm;
package LLVM_Transforms.Binding is
procedure LLVMAddArgumentPromotionPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddConstantMergePass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddDeadArgEliminationPass
(PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddDeadTypeEliminationPass
(PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddFunctionAttrsPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddFunctionInliningPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddGlobalDCEPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddGlobalOptimizerPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddIPConstantPropagationPass
(PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddLowerSetJmpPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddPruneEHPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddRaiseAllocationsPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddStripDeadPrototypesPass
(PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddStripSymbolsPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddAggressiveDCEPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddCFGSimplificationPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddCondPropagationPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddDeadStoreEliminationPass
(PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddGVNPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddIndVarSimplifyPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddInstructionCombiningPass
(PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddJumpThreadingPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddLICMPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddLoopDeletionPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddLoopIndexSplitPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddLoopRotatePass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddLoopUnrollPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddLoopUnswitchPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddMemCpyOptPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddPromoteMemoryToRegisterPass
(PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddReassociatePass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddSCCPPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddScalarReplAggregatesPass
(PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddSimplifyLibCallsPass (PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddTailCallEliminationPass
(PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddConstantPropagationPass
(PM : in llvm.LLVMPassManagerRef);
procedure LLVMAddDemoteMemoryToRegisterPass
(PM : in llvm.LLVMPassManagerRef);
private
pragma Import
(C,
LLVMAddArgumentPromotionPass,
"Ada_LLVMAddArgumentPromotionPass");
pragma Import
(C,
LLVMAddConstantMergePass,
"Ada_LLVMAddConstantMergePass");
pragma Import
(C,
LLVMAddDeadArgEliminationPass,
"Ada_LLVMAddDeadArgEliminationPass");
pragma Import
(C,
LLVMAddDeadTypeEliminationPass,
"Ada_LLVMAddDeadTypeEliminationPass");
pragma Import
(C,
LLVMAddFunctionAttrsPass,
"Ada_LLVMAddFunctionAttrsPass");
pragma Import
(C,
LLVMAddFunctionInliningPass,
"Ada_LLVMAddFunctionInliningPass");
pragma Import (C, LLVMAddGlobalDCEPass, "Ada_LLVMAddGlobalDCEPass");
pragma Import
(C,
LLVMAddGlobalOptimizerPass,
"Ada_LLVMAddGlobalOptimizerPass");
pragma Import
(C,
LLVMAddIPConstantPropagationPass,
"Ada_LLVMAddIPConstantPropagationPass");
pragma Import (C, LLVMAddLowerSetJmpPass, "Ada_LLVMAddLowerSetJmpPass");
pragma Import (C, LLVMAddPruneEHPass, "Ada_LLVMAddPruneEHPass");
pragma Import
(C,
LLVMAddRaiseAllocationsPass,
"Ada_LLVMAddRaiseAllocationsPass");
pragma Import
(C,
LLVMAddStripDeadPrototypesPass,
"Ada_LLVMAddStripDeadPrototypesPass");
pragma Import (C, LLVMAddStripSymbolsPass, "Ada_LLVMAddStripSymbolsPass");
pragma Import
(C,
LLVMAddAggressiveDCEPass,
"Ada_LLVMAddAggressiveDCEPass");
pragma Import
(C,
LLVMAddCFGSimplificationPass,
"Ada_LLVMAddCFGSimplificationPass");
pragma Import
(C,
LLVMAddCondPropagationPass,
"Ada_LLVMAddCondPropagationPass");
pragma Import
(C,
LLVMAddDeadStoreEliminationPass,
"Ada_LLVMAddDeadStoreEliminationPass");
pragma Import (C, LLVMAddGVNPass, "Ada_LLVMAddGVNPass");
pragma Import
(C,
LLVMAddIndVarSimplifyPass,
"Ada_LLVMAddIndVarSimplifyPass");
pragma Import
(C,
LLVMAddInstructionCombiningPass,
"Ada_LLVMAddInstructionCombiningPass");
pragma Import
(C,
LLVMAddJumpThreadingPass,
"Ada_LLVMAddJumpThreadingPass");
pragma Import (C, LLVMAddLICMPass, "Ada_LLVMAddLICMPass");
pragma Import (C, LLVMAddLoopDeletionPass, "Ada_LLVMAddLoopDeletionPass");
pragma Import
(C,
LLVMAddLoopIndexSplitPass,
"Ada_LLVMAddLoopIndexSplitPass");
pragma Import (C, LLVMAddLoopRotatePass, "Ada_LLVMAddLoopRotatePass");
pragma Import (C, LLVMAddLoopUnrollPass, "Ada_LLVMAddLoopUnrollPass");
pragma Import (C, LLVMAddLoopUnswitchPass, "Ada_LLVMAddLoopUnswitchPass");
pragma Import (C, LLVMAddMemCpyOptPass, "Ada_LLVMAddMemCpyOptPass");
pragma Import
(C,
LLVMAddPromoteMemoryToRegisterPass,
"Ada_LLVMAddPromoteMemoryToRegisterPass");
pragma Import (C, LLVMAddReassociatePass, "Ada_LLVMAddReassociatePass");
pragma Import (C, LLVMAddSCCPPass, "Ada_LLVMAddSCCPPass");
pragma Import
(C,
LLVMAddScalarReplAggregatesPass,
"Ada_LLVMAddScalarReplAggregatesPass");
pragma Import
(C,
LLVMAddSimplifyLibCallsPass,
"Ada_LLVMAddSimplifyLibCallsPass");
pragma Import
(C,
LLVMAddTailCallEliminationPass,
"Ada_LLVMAddTailCallEliminationPass");
pragma Import
(C,
LLVMAddConstantPropagationPass,
"Ada_LLVMAddConstantPropagationPass");
pragma Import
(C,
LLVMAddDemoteMemoryToRegisterPass,
"Ada_LLVMAddDemoteMemoryToRegisterPass");
end LLVM_Transforms.Binding;

View File

@ -0,0 +1,6 @@
-- This file is generated by SWIG. Do *not* modify by hand.
--
package LLVM_Transforms is
end LLVM_Transforms;

View File

@ -0,0 +1,828 @@
/* ----------------------------------------------------------------------------
* This file was automatically generated by SWIG (http://www.swig.org).
* Version 1.3.36
*
* This file is not intended to be easily readable and contains a number of
* coding conventions designed to improve portability and efficiency. Do not make
* changes to this file unless you know what you are doing--modify the SWIG
* interface file instead.
* ----------------------------------------------------------------------------- */
#ifdef __cplusplus
template<typename T> class SwigValueWrapper {
T *tt;
public:
SwigValueWrapper() : tt(0) { }
SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
SwigValueWrapper(const T& t) : tt(new T(t)) { }
~SwigValueWrapper() { delete tt; }
SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
operator T&() const { return *tt; }
T *operator&() { return tt; }
private:
SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
};
template <typename T> T SwigValueInit() {
return T();
}
#endif
/* -----------------------------------------------------------------------------
* This section contains generic SWIG labels for method/variable
* declarations/attributes, and other compiler dependent labels.
* ----------------------------------------------------------------------------- */
/* template workaround for compilers that cannot correctly implement the C++ standard */
#ifndef SWIGTEMPLATEDISAMBIGUATOR
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
# define SWIGTEMPLATEDISAMBIGUATOR template
# elif defined(__HP_aCC)
/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
# define SWIGTEMPLATEDISAMBIGUATOR template
# else
# define SWIGTEMPLATEDISAMBIGUATOR
# endif
#endif
/* inline attribute */
#ifndef SWIGINLINE
# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
# define SWIGINLINE inline
# else
# define SWIGINLINE
# endif
#endif
/* attribute recognised by some compilers to avoid 'unused' warnings */
#ifndef SWIGUNUSED
# if defined(__GNUC__)
# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
# define SWIGUNUSED __attribute__ ((__unused__))
# else
# define SWIGUNUSED
# endif
# elif defined(__ICC)
# define SWIGUNUSED __attribute__ ((__unused__))
# else
# define SWIGUNUSED
# endif
#endif
#ifndef SWIGUNUSEDPARM
# ifdef __cplusplus
# define SWIGUNUSEDPARM(p)
# else
# define SWIGUNUSEDPARM(p) p SWIGUNUSED
# endif
#endif
/* internal SWIG method */
#ifndef SWIGINTERN
# define SWIGINTERN static SWIGUNUSED
#endif
/* internal inline SWIG method */
#ifndef SWIGINTERNINLINE
# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
#endif
/* exporting methods */
#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
# ifndef GCC_HASCLASSVISIBILITY
# define GCC_HASCLASSVISIBILITY
# endif
#endif
#ifndef SWIGEXPORT
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
# if defined(STATIC_LINKED)
# define SWIGEXPORT
# else
# define SWIGEXPORT __declspec(dllexport)
# endif
# else
# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
# define SWIGEXPORT __attribute__ ((visibility("default")))
# else
# define SWIGEXPORT
# endif
# endif
#endif
/* calling conventions for Windows */
#ifndef SWIGSTDCALL
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
# define SWIGSTDCALL __stdcall
# else
# define SWIGSTDCALL
# endif
#endif
/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
# define _CRT_SECURE_NO_DEPRECATE
#endif
/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
# define _SCL_SECURE_NO_DEPRECATE
#endif
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#if defined(_WIN32) || defined(__CYGWIN32__)
# define DllExport __declspec( dllexport )
# define SWIGSTDCALL __stdcall
#else
# define DllExport
# define SWIGSTDCALL
#endif
#ifdef __cplusplus
# include <new>
#endif
/* Support for throwing Ada exceptions from C/C++ */
typedef enum
{
SWIG_AdaException,
SWIG_AdaOutOfMemoryException,
SWIG_AdaIndexOutOfRangeException,
SWIG_AdaDivideByZeroException,
SWIG_AdaArgumentOutOfRangeException,
SWIG_AdaNullReferenceException
} SWIG_AdaExceptionCodes;
typedef void (SWIGSTDCALL* SWIG_AdaExceptionCallback_t)(const char *);
typedef struct
{
SWIG_AdaExceptionCodes code;
SWIG_AdaExceptionCallback_t callback;
}
SWIG_AdaExceptions_t;
static
SWIG_AdaExceptions_t
SWIG_ada_exceptions[] =
{
{ SWIG_AdaException, NULL },
{ SWIG_AdaOutOfMemoryException, NULL },
{ SWIG_AdaIndexOutOfRangeException, NULL },
{ SWIG_AdaDivideByZeroException, NULL },
{ SWIG_AdaArgumentOutOfRangeException, NULL },
{ SWIG_AdaNullReferenceException, NULL }
};
static
void
SWIG_AdaThrowException (SWIG_AdaExceptionCodes code, const char *msg)
{
SWIG_AdaExceptionCallback_t callback = SWIG_ada_exceptions[SWIG_AdaException].callback;
if (code >=0 && (size_t)code < sizeof(SWIG_ada_exceptions)/sizeof(SWIG_AdaExceptions_t)) {
callback = SWIG_ada_exceptions[code].callback;
}
callback(msg);
}
#ifdef __cplusplus
extern "C"
#endif
DllExport void SWIGSTDCALL SWIGRegisterExceptionCallbacks_LLVM_Transforms (SWIG_AdaExceptionCallback_t systemException,
SWIG_AdaExceptionCallback_t outOfMemory,
SWIG_AdaExceptionCallback_t indexOutOfRange,
SWIG_AdaExceptionCallback_t divideByZero,
SWIG_AdaExceptionCallback_t argumentOutOfRange,
SWIG_AdaExceptionCallback_t nullReference)
{
SWIG_ada_exceptions [SWIG_AdaException].callback = systemException;
SWIG_ada_exceptions [SWIG_AdaOutOfMemoryException].callback = outOfMemory;
SWIG_ada_exceptions [SWIG_AdaIndexOutOfRangeException].callback = indexOutOfRange;
SWIG_ada_exceptions [SWIG_AdaDivideByZeroException].callback = divideByZero;
SWIG_ada_exceptions [SWIG_AdaArgumentOutOfRangeException].callback = argumentOutOfRange;
SWIG_ada_exceptions [SWIG_AdaNullReferenceException].callback = nullReference;
}
/* Callback for returning strings to Ada without leaking memory */
typedef char * (SWIGSTDCALL* SWIG_AdaStringHelperCallback)(const char *);
static SWIG_AdaStringHelperCallback SWIG_ada_string_callback = NULL;
/* probably obsolete ...
#ifdef __cplusplus
extern "C"
#endif
DllExport void SWIGSTDCALL SWIGRegisterStringCallback_LLVM_Transforms(SWIG_AdaStringHelperCallback callback) {
SWIG_ada_string_callback = callback;
}
*/
/* Contract support */
#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_AdaThrowException(SWIG_AdaArgumentOutOfRangeException, msg); return nullreturn; } else
#define protected public
#define private public
#include "llvm-c/Transforms/IPO.h"
#include "llvm-c/Transforms/Scalar.h"
// struct LLVMCtxt;
#undef protected
#undef private
#ifdef __cplusplus
extern "C" {
#endif
DllExport void SWIGSTDCALL Ada_LLVMAddArgumentPromotionPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddArgumentPromotionPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddConstantMergePass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddConstantMergePass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddDeadArgEliminationPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddDeadArgEliminationPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddDeadTypeEliminationPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddDeadTypeEliminationPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddFunctionAttrsPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddFunctionAttrsPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddFunctionInliningPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddFunctionInliningPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddGlobalDCEPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddGlobalDCEPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddGlobalOptimizerPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddGlobalOptimizerPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddIPConstantPropagationPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddIPConstantPropagationPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddLowerSetJmpPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddLowerSetJmpPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddPruneEHPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddPruneEHPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddRaiseAllocationsPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddRaiseAllocationsPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddStripDeadPrototypesPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddStripDeadPrototypesPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddStripSymbolsPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddStripSymbolsPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddAggressiveDCEPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddAggressiveDCEPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddCFGSimplificationPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddCFGSimplificationPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddCondPropagationPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddCondPropagationPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddDeadStoreEliminationPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddDeadStoreEliminationPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddGVNPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddGVNPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddIndVarSimplifyPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddIndVarSimplifyPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddInstructionCombiningPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddInstructionCombiningPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddJumpThreadingPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddJumpThreadingPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddLICMPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddLICMPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddLoopDeletionPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddLoopDeletionPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddLoopIndexSplitPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddLoopIndexSplitPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddLoopRotatePass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddLoopRotatePass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddLoopUnrollPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddLoopUnrollPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddLoopUnswitchPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddLoopUnswitchPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddMemCpyOptPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddMemCpyOptPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddPromoteMemoryToRegisterPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddPromoteMemoryToRegisterPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddReassociatePass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddReassociatePass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddSCCPPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddSCCPPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddScalarReplAggregatesPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddScalarReplAggregatesPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddSimplifyLibCallsPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddSimplifyLibCallsPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddTailCallEliminationPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddTailCallEliminationPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddConstantPropagationPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddConstantPropagationPass(arg1);
}
DllExport void SWIGSTDCALL Ada_LLVMAddDemoteMemoryToRegisterPass (
void * jarg1
)
{
LLVMPassManagerRef arg1 = (LLVMPassManagerRef) 0 ;
arg1 = (LLVMPassManagerRef)jarg1;
LLVMAddDemoteMemoryToRegisterPass(arg1);
}
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif