/* -*- C++ -*- */ //============================================================================= /** * @file config-win32-msvc-14.h * * @brief Microsoft Visual C++ 14.0 configuration file. * * This file is the ACE configuration file for Microsoft Visual C++ version 2015. * * @note Do not include this file directly, include config-win32.h instead. */ //============================================================================= #ifndef ACE_CONFIG_WIN32_MSVC_14_H #define ACE_CONFIG_WIN32_MSVC_14_H #include /**/ "ace/pre.h" #ifndef ACE_CONFIG_WIN32_H #error Use config-win32.h in config.h instead of this header #endif /* ACE_CONFIG_WIN32_H */ #ifndef ACE_WIN32_VC14 # define ACE_WIN32_VC14 #endif // Windows' timeval is non-conformant (defined in terms of long instead of // time_t) and VC8 changed time_t to a 64-bit value even when compiling a // 32-bit application. Therefore, ace/Time_Value needs to rearrange a few // things for this compiler. See Time_Value.h for complete details. #if !defined (_USE_32BIT_TIME_T) # define ACE_HAS_TIME_T_LONG_MISMATCH #endif #define ACE_HAS_ITOA #define ACE_ITOA_EQUIVALENT ::_itoa #define ACE_STRCASECMP_EQUIVALENT ::_stricmp #define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp #define ACE_WCSDUP_EQUIVALENT ::_wcsdup #if defined (ACE_HAS_WINCE) # define ACE_FILENO_EQUIVALENT ::_fileno #else # define ACE_FILENO_EQUIVALENT(X) (_get_osfhandle (::_fileno (X))) #endif // Windows Mobile 6 doesn't do sig_atomic_t, but maybe future versions will. # if !defined (_WIN32_WCE) || (_WIN32_WCE > 0x601) # define ACE_HAS_SIG_ATOMIC_T # endif /* !Win CE 6.0 or less */ #define ACE_LACKS_STRPTIME // Evaluate this with a WinCE build; maybe things have improved since VC8. //#if !defined (ACE_HAS_WINCE) # define ACE_HAS_INTRIN_H # define ACE_HAS_INTRINSIC_INTERLOCKED //#endif #if !defined (_WIN32_WCE) || (_WIN32_WCE >= 0x501) # define ACE_HAS_INTRINSIC_BYTESWAP #endif #define ACE_LACKS_STRRECVFD #define ACE_TEMPLATES_REQUIRE_SOURCE // Platform provides ACE_TLI function prototypes. // For Win32, this is not really true, but saves a lot of hassle! #define ACE_HAS_TLI_PROTOTYPES // Platform support linebuffered streaming is broken #define ACE_LACKS_LINEBUFFERED_STREAMBUF // ace/iostream.h does not work with the standard cpp library (yet). #if !defined (ACE_USES_OLD_IOSTREAMS) # define ACE_LACKS_ACE_IOSTREAM #endif /* ! ACE_USES_OLD_IOSTREAMS */ // There are too many instances of this warning to fix it right now. // Maybe in the future. // Disable warning of using Microsoft Extension. #pragma warning(disable:4231) // 'class1' : inherits 'class2::member' via dominance #pragma warning(disable:4250) // CE (at least thru Windows Mobile 5) doesn't have the new, secure CRT. #if !defined (ACE_HAS_WINCE) && !defined (ACE_HAS_TR24731_2005_CRT) # define ACE_HAS_TR24731_2005_CRT #endif // On CE w/o MFC config-WinCE.h needs to declare a placement new. This // triggers a warning that there's no placement delete, which can be ignored. #if defined (ACE_HAS_WINCE) && !defined (ACE_HAS_MFC) # pragma warning(disable:4291) #endif // A template can not be exported. Only an instantiation may be exported. #define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT // Windows Vista and Windows Server 2008 and newer do have native condition // variables, but this is commented out because the support in ACE hasn't // been completed // #if defined (_WIN32_WINNT) && (_WIN32_WINNT >= 0x0600) // # define ACE_HAS_WTHREADS_CONDITION_VARIABLE // # undef ACE_LACKS_COND_T // #endif #define ACE_HAS_POSIX_TIME 1 #define ACE_LACKS_TIMESPEC_T 1 // According to MS the Visual Studio 2015 C-runtime has a // C99 compliant vsnprintf/vsnwprintf, this is a change compared to // previous versions #define ACE_HAS_C99_VSNPRINTF #define ACE_HAS_C99_VSNWPRINTF // Visual Studio 2015 has 3 parameter wcstok #define ACE_HAS_3_PARAM_WCSTOK // Visual Studio 2015 has adequate C++11 support #define ACE_HAS_CPP11 #define ACE_PUTENV_EQUIVALENT ::_putenv #define ACE_TEMPNAM_EQUIVALENT ::_tempnam #define ACE_STRDUP_EQUIVALENT ::_strdup #define ACE_MKDIR_EQUIVALENT ::_mkdir #define ACE_ACCESS_EQUIVALENT ::_access #define ACE_CHDIR_EQUIVALENT ::_chdir #define ACE_RMDIR_EQUIVALENT ::_rmdir #define ACE_GETCWD_EQUIVALENT ::_getcwd #define ACE_SWAB_EQUIVALENT ::_swab #define ACE_UNLINK_EQUIVALENT ::_unlink #define ACE_HAS_STRNLEN #define ACE_HAS_WCSNLEN #define ACE_LACKS_STRUCT_DIR #define ACE_LACKS_OPENDIR #define ACE_LACKS_CLOSEDIR #define ACE_LACKS_READDIR #define ACE_LACKS_MODE_T #define ACE_LACKS_PID_T #define ACE_LACKS_NLINK_T #define ACE_LACKS_UID_T #define ACE_LACKS_GID_T #include /**/ "ace/post.h" #endif /* ACE_CONFIG_WIN32_MSVC_14_H */