100 #if defined(_MSC_VER) |
100 #if defined(_MSC_VER) |
101 # pragma once |
101 # pragma once |
102 # define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers |
102 # define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers |
103 # pragma warning(disable: 4244) // 'conversion' conversion from 'type1' to 'type2', possible loss of data |
103 # pragma warning(disable: 4244) // 'conversion' conversion from 'type1' to 'type2', possible loss of data |
104 # pragma warning(disable: 4761) // integral size mismatch in argument : conversion supplied |
104 # pragma warning(disable: 4761) // integral size mismatch in argument : conversion supplied |
105 # if _MSC_VER < 1300 // MSVC 6 borkdness |
105 |
106 # pragma warning(disable: 4018) // 'expression' : signed/unsigned mismatch |
|
107 # pragma warning(disable: 4305) // 'identifier' : truncation from 'type1' to 'type2' |
|
108 # pragma warning(disable: 4786) // 'identifier' : identifier was truncated to '255' characters in the browser information |
|
109 # endif /* _MSC_VER < 1300 */ |
|
110 # if _MSC_VER >= 1400 // MSVC 2005 safety checks |
106 # if _MSC_VER >= 1400 // MSVC 2005 safety checks |
111 # pragma warning(disable: 4996) // 'strdup' was declared deprecated |
107 # pragma warning(disable: 4996) // 'strdup' was declared deprecated |
112 # define _CRT_SECURE_NO_DEPRECATE // all deprecated 'unsafe string functions |
108 # define _CRT_SECURE_NO_DEPRECATE // all deprecated 'unsafe string functions |
113 # pragma comment(linker, "/NODEFAULTLIB:LIBC.LIB") |
109 # pragma comment(linker, "/NODEFAULTLIB:LIBCMT.LIB") // allow linking to non-recompiled libs |
114 // allow linking to non-recompiled libs |
|
115 # endif /* _MSC_VER >= 1400 */ |
110 # endif /* _MSC_VER >= 1400 */ |
116 |
111 |
117 # include <malloc.h> // alloca() |
112 # include <malloc.h> // alloca() |
118 # define NORETURN __declspec(noreturn) |
113 # define NORETURN __declspec(noreturn) |
119 # define FORCEINLINE __forceinline |
114 # define FORCEINLINE __forceinline |