From 58bc451109e1b8c1ba78856eba4f80ba411acf84 Mon Sep 17 00:00:00 2001 From: Steve Huston Date: Sat, 23 Jun 2018 19:59:50 -0400 Subject: Carry new compiler support (vc14) from master. --- ACE/ace/config-win32-msvc-11.h | 30 ++++++++++++++++++++++ ACE/ace/config-win32-msvc-12.h | 30 ++++++++++++++++++++++ ACE/ace/config-win32-msvc-14.h | 56 ++++++++++++++++++++++++++++++++++++++++++ ACE/ace/config-win32-msvc.h | 20 ++++++++++++--- ACE/ace/config-win32.h | 32 ++++++++++++++---------- 5 files changed, 151 insertions(+), 17 deletions(-) create mode 100644 ACE/ace/config-win32-msvc-11.h create mode 100644 ACE/ace/config-win32-msvc-12.h create mode 100644 ACE/ace/config-win32-msvc-14.h diff --git a/ACE/ace/config-win32-msvc-11.h b/ACE/ace/config-win32-msvc-11.h new file mode 100644 index 00000000000..8078ffa6040 --- /dev/null +++ b/ACE/ace/config-win32-msvc-11.h @@ -0,0 +1,30 @@ +/* -*- C++ -*- */ +//============================================================================= +/** + * @file config-win32-msvc-11.h + * + * @brief Microsoft Visual C++ 11.0 configuration file. + * + * This file is the ACE configuration file for Microsoft Visual C++ version 11. + * + * @note Do not include this file directly, include config-win32.h instead. + */ +//============================================================================= + +#ifndef ACE_CONFIG_WIN32_MSVC_11_H +#define ACE_CONFIG_WIN32_MSVC_11_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_VC11 +# define ACE_WIN32_VC11 +#endif + +// Until we have specific msvc11 settings, include the msvc10 file +#include "ace/config-win32-msvc-10.h" + +#include /**/ "ace/post.h" +#endif /* ACE_CONFIG_WIN32_MSVC_10_H */ diff --git a/ACE/ace/config-win32-msvc-12.h b/ACE/ace/config-win32-msvc-12.h new file mode 100644 index 00000000000..0b59cd44685 --- /dev/null +++ b/ACE/ace/config-win32-msvc-12.h @@ -0,0 +1,30 @@ +/* -*- C++ -*- */ +//============================================================================= +/** + * @file config-win32-msvc-12.h + * + * @brief Microsoft Visual C++ 12.0 configuration file. + * + * This file is the ACE configuration file for Microsoft Visual C++ version 12. + * + * @note Do not include this file directly, include config-win32.h instead. + */ +//============================================================================= + +#ifndef ACE_CONFIG_WIN32_MSVC_12_H +#define ACE_CONFIG_WIN32_MSVC_12_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_VC12 +# define ACE_WIN32_VC12 +#endif + +// Until we have specific msvc12 settings, include the msvc11 file +#include "ace/config-win32-msvc-11.h" + +#include /**/ "ace/post.h" +#endif /* ACE_CONFIG_WIN32_MSVC_10_H */ diff --git a/ACE/ace/config-win32-msvc-14.h b/ACE/ace/config-win32-msvc-14.h new file mode 100644 index 00000000000..e674c970315 --- /dev/null +++ b/ACE/ace/config-win32-msvc-14.h @@ -0,0 +1,56 @@ +/* -*- 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 + +// Until we have specific msvc14 settings, include the msvc12 file +#include "ace/config-win32-msvc-12.h" + +#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 + +#include /**/ "ace/post.h" +#endif /* ACE_CONFIG_WIN32_MSVC_14_H */ diff --git a/ACE/ace/config-win32-msvc.h b/ACE/ace/config-win32-msvc.h index 2076f1a1463..983d230f626 100644 --- a/ACE/ace/config-win32-msvc.h +++ b/ACE/ace/config-win32-msvc.h @@ -2,8 +2,6 @@ /** * @file config-win32-msvc.h * - * $Id$ - * * @brief Microsoft Visual C++ configuration file. * * This file is the ACE configuration file for Microsoft Visual C++ @@ -40,7 +38,15 @@ #endif /* _WIN32_WCE */ //FUZZ: disable check_for_msc_ver -#if (_MSC_VER >= 1600) +#if (_MSC_VER >= 1910) +# include "ace/config-win32-msvc-141.h" +#elif (_MSC_VER >= 1900) +# include "ace/config-win32-msvc-14.h" +#elif (_MSC_VER >= 1800) +# include "ace/config-win32-msvc-12.h" +#elif (_MSC_VER >= 1700) +# include "ace/config-win32-msvc-11.h" +#elif (_MSC_VER >= 1600) # include "ace/config-win32-msvc-10.h" #elif (_MSC_VER >= 1500) # include "ace/config-win32-msvc-9.h" @@ -95,7 +101,9 @@ #define ACE_LACKS_NETDB_H #define ACE_LACKS_NET_IF_H #define ACE_LACKS_NETINET_IN_H -#define ACE_LACKS_STDINT_H +#if !defined (ACE_WIN32_VC14) +# define ACE_LACKS_STDINT_H +#endif #define ACE_LACKS_STROPTS_H #define ACE_LACKS_SYS_IOCTL_H #define ACE_LACKS_SYS_IPC_H @@ -119,6 +127,10 @@ #define ACE_LACKS_TERMIOS_H #define ACE_LACKS_REGEX_H +#define ACE_LACKS_LOCALTIME_R +#define ACE_LACKS_GMTIME_R +#define ACE_LACKS_ASCTIME_R + #define ACE_INT64_FORMAT_SPECIFIER_ASCII "%I64d" #define ACE_UINT64_FORMAT_SPECIFIER_ASCII "%I64u" diff --git a/ACE/ace/config-win32.h b/ACE/ace/config-win32.h index 1ada8467838..3217c2b7894 100644 --- a/ACE/ace/config-win32.h +++ b/ACE/ace/config-win32.h @@ -3,8 +3,6 @@ /** * @file config-win32.h * - * $Id$ - * * @brief Microsoft Windows configuration file. * * This file is the ACE configuration file for all of Microsoft Windows @@ -22,23 +20,31 @@ // NOTE: Please do not add anything besides #include's here. Put other stuff // (definitions, etc.) in the included headers -#include "ace/config-win32-common.h" +// We need to ensure that for Borland vcl.h can be included before +// windows.h. So we will not include config-win32-common.h from here, +// but instead let it be included at the appropriate place in +// config-win32-borland.h. +#if !defined (__BORLANDC__) +# include "ace/config-win32-common.h" +#endif /* !__BORLANDC__ */ // Include the config-win32-* file specific to the compiler -#if defined (_MSC_VER) -# include "ace/config-win32-msvc.h" +#if defined (__BORLANDC__) +# include "ace/config-win32-borland.h" +#elif defined (_MSC_VER) +# include "ace/config-win32-msvc.h" #elif defined (ACE_HAS_CEGCC) //need to be prior to MINGW32 -# include "ace/config-win32-cegcc.h" +# include "ace/config-win32-cegcc.h" #elif defined (__MINGW32__) -# if defined (__MINGW64_VERSION_MAJOR) -# include "ace/config-win32-mingw64.h" -# else -# include "ace/config-win32-mingw.h" -# endif +# if defined (__MINGW64_VERSION_MAJOR) +# include "ace/config-win32-mingw64.h" +# else +# include "ace/config-win32-mingw.h" +# endif #elif defined (__DMC__) -# include "ace/config-win32-dmc.h" +# include "ace/config-win32-dmc.h" #else -# error Compiler is not supported +# error Compiler is not supported #endif #include /**/ "ace/post.h" -- cgit v1.2.1