]> git.unchartedbackwaters.co.uk Git - francis/libjit.git/commitdiff
add JIT_EXPORT_DATA macro to support win32 DLL idiosyncrasy
authorAleksey Demakov <ademakov@gmail.com>
Mon, 26 May 2008 10:51:27 +0000 (10:51 +0000)
committerAleksey Demakov <ademakov@gmail.com>
Mon, 26 May 2008 10:51:27 +0000 (10:51 +0000)
ChangeLog
include/jit/jit-defs.h.in
include/jit/jit-opcode.h
include/jit/jit-type.h

index 5a6b53685a316f81f92ebae388daacb92822ce21..e20b20e956e6bf461b1433863a65e85e3d2c84bc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-05-26  Juan Jesus Garcia de Soria  <juanj.g_soria@grupobbva.com>
+
+       * include/jit/jit-defs.h.in: define JIT_EXPORT_DATA macro to support
+       win32 DLL symbol import/export idiosyncrasy. On non-win32 this macro
+       is simply "extern".
+       * include/jit/jit-type.h, include/jit/jit-opcode.h: replace "extern"
+       with JIT_EXPORT_DATA in data declaration.
+
 2008-05-24  Klaus Treichel  <ktreichel@web.de>
 
        * jit/jit-rules-x86-64.c (_jit_gen_prolog, _jit_gen_epilog): Add
index 42748d11d4686b2a4ea1c0b72632f5f0e6935846..231928a6c2fd87b3fcdb4983f9eaefdd98d97aff 100644 (file)
 extern "C" {
 #endif
 
+#ifdef _MSC_VER
+#define JIT_EXPORT_DATA extern __declspec(dllimport)
+#else
+#define JIT_EXPORT_DATA extern
+#endif
+
 @JIT_INT64_INCLUDE@
 
 typedef @JITINT8@ jit_sbyte;
index ad4ecdadb3407bd3ab865fb96e70a112b7099d5f..4bb895ead3d8719ec9cd685c594c4be3e32e55a4 100644 (file)
@@ -601,7 +601,7 @@ struct jit_opcode_info
 #define        JIT_OPCODE_SRC1_PTR                             JIT_OPCODE_SRC1_LONG
 #define        JIT_OPCODE_SRC2_PTR                             JIT_OPCODE_SRC2_LONG
 #endif
-extern jit_opcode_info_t const jit_opcodes[JIT_OP_NUM_OPCODES];
+JIT_EXPORT_DATA jit_opcode_info_t const jit_opcodes[JIT_OP_NUM_OPCODES];
 
 #ifdef __cplusplus
 };
index 36b6d9bfd82d2713733e3f5f50a9aaaebee2c209..8dd84830c6453b1b06a70c1575d0444be16f56a1 100644 (file)
@@ -30,41 +30,41 @@ extern      "C" {
 /*
  * Pre-defined type descriptors.
  */
-extern jit_type_t const jit_type_void;
-extern jit_type_t const jit_type_sbyte;
-extern jit_type_t const jit_type_ubyte;
-extern jit_type_t const jit_type_short;
-extern jit_type_t const jit_type_ushort;
-extern jit_type_t const jit_type_int;
-extern jit_type_t const jit_type_uint;
-extern jit_type_t const jit_type_nint;
-extern jit_type_t const jit_type_nuint;
-extern jit_type_t const jit_type_long;
-extern jit_type_t const jit_type_ulong;
-extern jit_type_t const jit_type_float32;
-extern jit_type_t const jit_type_float64;
-extern jit_type_t const jit_type_nfloat;
-extern jit_type_t const jit_type_void_ptr;
+JIT_EXPORT_DATA jit_type_t const jit_type_void;
+JIT_EXPORT_DATA jit_type_t const jit_type_sbyte;
+JIT_EXPORT_DATA jit_type_t const jit_type_ubyte;
+JIT_EXPORT_DATA jit_type_t const jit_type_short;
+JIT_EXPORT_DATA jit_type_t const jit_type_ushort;
+JIT_EXPORT_DATA jit_type_t const jit_type_int;
+JIT_EXPORT_DATA jit_type_t const jit_type_uint;
+JIT_EXPORT_DATA jit_type_t const jit_type_nint;
+JIT_EXPORT_DATA jit_type_t const jit_type_nuint;
+JIT_EXPORT_DATA jit_type_t const jit_type_long;
+JIT_EXPORT_DATA jit_type_t const jit_type_ulong;
+JIT_EXPORT_DATA jit_type_t const jit_type_float32;
+JIT_EXPORT_DATA jit_type_t const jit_type_float64;
+JIT_EXPORT_DATA jit_type_t const jit_type_nfloat;
+JIT_EXPORT_DATA jit_type_t const jit_type_void_ptr;
 
 /*
  * Type descriptors for the system "char", "int", "long", etc types.
  * These are defined to one of the above values.
  */
-extern jit_type_t const jit_type_sys_bool;
-extern jit_type_t const jit_type_sys_char;
-extern jit_type_t const jit_type_sys_schar;
-extern jit_type_t const jit_type_sys_uchar;
-extern jit_type_t const jit_type_sys_short;
-extern jit_type_t const jit_type_sys_ushort;
-extern jit_type_t const jit_type_sys_int;
-extern jit_type_t const jit_type_sys_uint;
-extern jit_type_t const jit_type_sys_long;
-extern jit_type_t const jit_type_sys_ulong;
-extern jit_type_t const jit_type_sys_longlong;
-extern jit_type_t const jit_type_sys_ulonglong;
-extern jit_type_t const jit_type_sys_float;
-extern jit_type_t const jit_type_sys_double;
-extern jit_type_t const jit_type_sys_long_double;
+JIT_EXPORT_DATA jit_type_t const jit_type_sys_bool;
+JIT_EXPORT_DATA jit_type_t const jit_type_sys_char;
+JIT_EXPORT_DATA jit_type_t const jit_type_sys_schar;
+JIT_EXPORT_DATA jit_type_t const jit_type_sys_uchar;
+JIT_EXPORT_DATA jit_type_t const jit_type_sys_short;
+JIT_EXPORT_DATA jit_type_t const jit_type_sys_ushort;
+JIT_EXPORT_DATA jit_type_t const jit_type_sys_int;
+JIT_EXPORT_DATA jit_type_t const jit_type_sys_uint;
+JIT_EXPORT_DATA jit_type_t const jit_type_sys_long;
+JIT_EXPORT_DATA jit_type_t const jit_type_sys_ulong;
+JIT_EXPORT_DATA jit_type_t const jit_type_sys_longlong;
+JIT_EXPORT_DATA jit_type_t const jit_type_sys_ulonglong;
+JIT_EXPORT_DATA jit_type_t const jit_type_sys_float;
+JIT_EXPORT_DATA jit_type_t const jit_type_sys_double;
+JIT_EXPORT_DATA jit_type_t const jit_type_sys_long_double;
 
 /*
  * Type kinds that may be returned by "jit_type_get_kind".