Go to the documentation of this file. 15 #define LIBSMBIOS_MSVC _MSC_VER 22 #pragma warning( disable : 4201 4250 4503 4127 ) 25 #pragma warning( disable : 4702 ) // disable in release because MS headers have tons of unreachable code 30 #define strtoll(p, e, b) _strtoi64(p, e, b) 33 #define UNREFERENCED_PARAMETER(P) (P) 35 #define LIBSMBIOS_PACKED_ATTR 36 #define _dbg_iostream_out(stream, line) do { stream << line; } while(0) 37 #define _dbg_cout(line) _dbg_iostream_out(cout, line) 38 #define _dbg_cerr(line) _dbg_iostream_out(cerr, line) 39 #define _null_call(...) do {} while(0) 40 #ifdef DEBUG_OUTPUT_ALL 42 #define DCOUT _dbg_cout 43 #define DCERR _dbg_cerr 45 #define DCOUT _null_call 46 #define DCERR _null_call 56 #if _MSC_VER <= 1200 // 1200 == VC++ 6.0 57 #pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info 58 # define LIBSMBIOS_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS 59 # define LIBSMBIOS_NO_VOID_RETURNS 60 # define LIBSMBIOS_NO_EXCEPTION_STD_NAMESPACE 61 # define LIBSMBIOS_NO_STDC_NAMESPACE 66 #if (_MSC_VER <= 1300) // 1300 == VC++ 7.0 68 #if !defined(_MSC_EXTENSIONS) && !defined(LIBSMBIOS_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) // VC7 bug with /Za 69 # define LIBSMBIOS_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS 72 # define LIBSMBIOS_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS 73 # define LIBSMBIOS_NO_INCLASS_MEMBER_INITIALIZATION 74 # define LIBSMBIOS_NO_PRIVATE_IN_AGGREGATE 75 # define LIBSMBIOS_NO_ARGUMENT_DEPENDENT_LOOKUP 76 # define LIBSMBIOS_NO_INTEGRAL_INT64_T 77 # define LIBSMBIOS_NO_DEDUCED_TYPENAME 78 # define LIBSMBIOS_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE 82 # define LIBSMBIOS_NO_MEMBER_TEMPLATES 84 # define LIBSMBIOS_MSVC6_MEMBER_TEMPLATES 86 # define LIBSMBIOS_NO_MEMBER_TEMPLATE_FRIENDS 87 # define LIBSMBIOS_NO_TEMPLATE_PARTIAL_SPECIALIZATION 88 # define LIBSMBIOS_NO_CV_VOID_SPECIALIZATIONS 89 # define LIBSMBIOS_NO_FUNCTION_TEMPLATE_ORDERING 90 # define LIBSMBIOS_NO_USING_TEMPLATE 91 # define LIBSMBIOS_NO_SWPRINTF 92 # define LIBSMBIOS_NO_TEMPLATE_TEMPLATES 93 # define LIBSMBIOS_NO_SFINAE 94 # if (_MSC_VER > 1200) 95 # define LIBSMBIOS_NO_MEMBER_FUNCTION_SPECIALIZATIONS 102 #define LIBSMBIOS_HAS_FUNCTION 105 #if _MSC_VER < 1310 // 1310 == VC++ 7.1 106 # define LIBSMBIOS_NO_SWPRINTF 110 # define LIBSMBIOS_NO_MEMBER_TEMPLATE_FRIENDS 113 #ifndef _NATIVE_WCHAR_T_DEFINED 114 # define LIBSMBIOS_NO_INTRINSIC_WCHAR_T 120 # define LIBSMBIOS_NO_EXCEPTIONS 126 #if (_MSC_VER >= 1200) 127 # define LIBSMBIOS_HAS_MS_INT64 129 #if (_MSC_VER >= 1310) && defined(_MSC_EXTENSIONS) 130 # define LIBSMBIOS_HAS_LONG_LONG 136 #ifndef _MSC_EXTENSIONS 137 # define LIBSMBIOS_DISABLE_WIN32 143 #define LIBSMBIOS_HAS_DECLSPEC 147 #ifndef LIBSMBIOS_ABI_PREFIX 148 # define LIBSMBIOS_ABI_PREFIX "smbios/config/abi/msvc_prefix.hpp" 150 #ifndef LIBSMBIOS_ABI_SUFFIX 151 # define LIBSMBIOS_ABI_SUFFIX "smbios/config/abi/msvc_suffix.hpp" 154 # if _MSC_VER == 1200 155 # define LIBSMBIOS_COMPILER_VERSION 6.0 156 # elif _MSC_VER == 1300 157 # define LIBSMBIOS_COMPILER_VERSION 7.0 158 # elif _MSC_VER == 1310 159 # define LIBSMBIOS_COMPILER_VERSION 7.1 161 # define LIBSMBIOS_COMPILER_VERSION _MSC_VER 164 #define LIBSMBIOS_COMPILER "Microsoft Visual C++ version " LIBSMBIOS_STRINGIZE(LIBSMBIOS_COMPILER_VERSION) 170 #error "Compiler looks ancient. Sorry but we dont support it MSVC++ prior to version 6." 174 #if (_MSC_VER > 1400) 175 # if defined(LIBSMBIOS_ASSERT_CONFIG) 176 # error "Unknown compiler version - please run the configure tests and report the results" 178 # pragma message("Unknown compiler version - please run the configure tests and report the results")