Browse code

* Fixes for gcc and clang (while they can compile the code, the DLLs made aren't functional, but oh well).

* [2SF] Used more up-to-date asmjit, despite the ugly looking code.

Naram Qashat authored on 2014/09/17 19:51:45
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,49 @@
1
+// [AsmJit]
2
+// Complete x86/x64 JIT and Remote Assembler for C++.
3
+//
4
+// [License]
5
+// Zlib - See LICENSE.md file in the package.
6
+
7
+#ifndef _ASMJIT_BUILD_H
8
+# include "build.h"
9
+#endif // !_ASMJIT_BUILD_H
10
+
11
+// ============================================================================
12
+// [MSVC]
13
+// ============================================================================
14
+
15
+#ifdef _MSC_VER
16
+// Disable some warnings we know about
17
+# pragma warning(push)
18
+# pragma warning(disable: 4127) // conditional expression is constant
19
+# pragma warning(disable: 4201) // nameless struct/union
20
+# pragma warning(disable: 4244) // '+=' : conversion from 'int' to 'x', possible
21
+                                // loss of data
22
+# pragma warning(disable: 4251) // struct needs to have dll-interface to be used
23
+                                // by clients of struct ...
24
+# pragma warning(disable: 4275) // non dll-interface struct ... used as base for
25
+                                // dll-interface struct
26
+# pragma warning(disable: 4355) // this used in base member initializer list
27
+# pragma warning(disable: 4480) // specifying underlying type for enum
28
+# pragma warning(disable: 4800) // forcing value to bool 'true' or 'false'
29
+
30
+// Rename symbols.
31
+# ifndef vsnprintf
32
+#  define ASMJIT_DEFINED_VSNPRINTF
33
+#  define vsnprintf _vsnprintf
34
+# endif // !vsnprintf
35
+# ifndef snprintf
36
+#  define ASMJIT_DEFINED_SNPRINTF
37
+#  define snprintf _snprintf
38
+# endif // !snprintf
39
+#endif // _MSC_VER
40
+
41
+// ============================================================================
42
+// [GNUC]
43
+// ============================================================================
44
+
45
+#if defined(__GNUC__) && !defined(__clang__)
46
+# if __GNUC__ >= 4 && !defined(__MINGW32__)
47
+#  pragma GCC visibility push(hidden)
48
+# endif // __GNUC__ >= 4
49
+#endif // __GNUC__