summaryrefslogtreecommitdiff
path: root/ACE
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2023-02-22 13:32:52 +0100
committerGitHub <noreply@github.com>2023-02-22 13:32:52 +0100
commit3827363c2dfe94345cab759b5b968eeec89205b4 (patch)
treefd7f6e8f8bfa6e7d00a607e0421122b9a788ab1a /ACE
parentc5b4f7009b47eac331fb5d20d53366fc99abecf0 (diff)
parent4ea44f59178bba284ec90eea7352ce95ecd3ee6a (diff)
downloadATCD-3827363c2dfe94345cab759b5b968eeec89205b4.tar.gz
Merge branch 'master' into master
Diffstat (limited to 'ACE')
-rw-r--r--ACE/NEWS4
-rw-r--r--ACE/ace/Global_Macros.h6
-rw-r--r--ACE/ace/config-win32-msvc-14.h131
-rw-r--r--ACE/ace/config-win32-msvc-141.h107
-rw-r--r--ACE/ace/config-win32-msvc.h2
-rw-r--r--ACE/examples/Logger/Acceptor-server/server_loggerd.cpp1
-rw-r--r--ACE/include/makeinclude/platform_linux_clang.GNU10
-rw-r--r--ACE/include/makeinclude/platform_macosx_common.GNU2
8 files changed, 117 insertions, 146 deletions
diff --git a/ACE/NEWS b/ACE/NEWS
index 991e25e40b5..bb38cc3b52f 100644
--- a/ACE/NEWS
+++ b/ACE/NEWS
@@ -2,7 +2,9 @@ USER VISIBLE CHANGES BETWEEN ACE-7.0.11 and ACE-7.1.0
=====================================================
. Removed support for Windows CE, OpenVMS, HPUX, AIX, RTEMS,
- Pharlap, and Solaris
+ Pharlap, Solaris, and Visual Studio 2015
+
+. ACE/TAO now require C++14 or newer
USER VISIBLE CHANGES BETWEEN ACE-7.0.10 and ACE-7.0.11
======================================================
diff --git a/ACE/ace/Global_Macros.h b/ACE/ace/Global_Macros.h
index bc9b20a4962..5520938f01c 100644
--- a/ACE/ace/Global_Macros.h
+++ b/ACE/ace/Global_Macros.h
@@ -57,9 +57,9 @@
# define ACE_SET_BITS(WORD, BITS) (WORD |= (BITS))
# define ACE_CLR_BITS(WORD, BITS) (WORD &= ~(BITS))
-#if !defined (ACE_HAS_CPP11)
-# error ACE/TAO require C++11 compliance, please upgrade your compiler and/or fix the platform configuration for your environment
-#endif /* !ACE_HAS_CPP11 */
+#if !defined (ACE_HAS_CPP14)
+# error ACE/TAO require C++14 compliance, please upgrade your compiler and/or fix the platform configuration for your environment
+#endif
#define ACE_UNIMPLEMENTED_FUNC(f) f = delete;
diff --git a/ACE/ace/config-win32-msvc-14.h b/ACE/ace/config-win32-msvc-14.h
deleted file mode 100644
index 18fea9a9a5e..00000000000
--- a/ACE/ace/config-win32-msvc-14.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/* -*- 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
-#define ACE_FILENO_EQUIVALENT(X) (_get_osfhandle (::_fileno (X)))
-
-#define ACE_HAS_SIG_ATOMIC_T
-
-#define ACE_LACKS_STRPTIME
-
-#define ACE_HAS_INTRIN_H
-#define ACE_HAS_INTRINSIC_INTERLOCKED
-
-#define ACE_HAS_INTRINSIC_BYTESWAP
-
-#define ACE_LACKS_STRRECVFD
-
-// 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)
-
-#if !defined (ACE_HAS_TR24731_2005_CRT)
-# define ACE_HAS_TR24731_2005_CRT
-#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 */
diff --git a/ACE/ace/config-win32-msvc-141.h b/ACE/ace/config-win32-msvc-141.h
index c6376395d13..284071e62ed 100644
--- a/ACE/ace/config-win32-msvc-141.h
+++ b/ACE/ace/config-win32-msvc-141.h
@@ -19,11 +19,116 @@
#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
#ifndef ACE_WIN32_VC141
# define ACE_WIN32_VC141
#endif
-#include "ace/config-win32-msvc-14.h"
+// 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
+#define ACE_FILENO_EQUIVALENT(X) (_get_osfhandle (::_fileno (X)))
+
+#define ACE_HAS_SIG_ATOMIC_T
+
+#define ACE_LACKS_STRPTIME
+
+#define ACE_HAS_INTRIN_H
+#define ACE_HAS_INTRINSIC_INTERLOCKED
+
+#define ACE_HAS_INTRINSIC_BYTESWAP
+
+#define ACE_LACKS_STRRECVFD
+
+// 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)
+
+#if !defined (ACE_HAS_TR24731_2005_CRT)
+# define ACE_HAS_TR24731_2005_CRT
+#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
#if _MSVC_LANG >= 201402L
# define ACE_HAS_CPP14
diff --git a/ACE/ace/config-win32-msvc.h b/ACE/ace/config-win32-msvc.h
index 1e1b063d420..e467bf0230b 100644
--- a/ACE/ace/config-win32-msvc.h
+++ b/ACE/ace/config-win32-msvc.h
@@ -39,8 +39,6 @@
# include "ace/config-win32-msvc-142.h"
#elif (_MSC_VER >= 1910)
# include "ace/config-win32-msvc-141.h"
-#elif (_MSC_VER >= 1900)
-# include "ace/config-win32-msvc-14.h"
#else
# error This version of Microsoft Visual C++ is not supported.
#endif
diff --git a/ACE/examples/Logger/Acceptor-server/server_loggerd.cpp b/ACE/examples/Logger/Acceptor-server/server_loggerd.cpp
index ba53e2b3af6..dc3a2af3b01 100644
--- a/ACE/examples/Logger/Acceptor-server/server_loggerd.cpp
+++ b/ACE/examples/Logger/Acceptor-server/server_loggerd.cpp
@@ -260,7 +260,6 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
return 0;
}
-//typedef ACE_Test_and_Set<ACE_Null_Mutex, sig_atomic_t>
ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, ACE_Reactor, ACE_Null_Mutex);
ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Options, ACE_Null_Mutex);
#define ACE_Test_and_Set_type \
diff --git a/ACE/include/makeinclude/platform_linux_clang.GNU b/ACE/include/makeinclude/platform_linux_clang.GNU
index 2cfc0accbec..a0fed4aa604 100644
--- a/ACE/include/makeinclude/platform_linux_clang.GNU
+++ b/ACE/include/makeinclude/platform_linux_clang.GNU
@@ -18,12 +18,6 @@ else
CXX_MAJOR_VERSION := $(shell $(CXX) -dumpversion | sed -e 's/[^0-9\.]//g' | sed -e 's/\..*$$//')
endif
-# clang5 has C++03 as default C++ version, enable this to be C++11
-# the older clang versions all return 4.2.1 as part of dumpversion
-ifeq ($(findstring $(CXX_MAJOR_VERSION),4),$(CXX_MAJOR_VERSION))
- c++11 ?= 1
-endif
-
CCFLAGS += $(CFLAGS)
DCFLAGS += -g
DLD = $(CXX)
@@ -45,6 +39,10 @@ ifeq ($(c++11),1)
CCFLAGS += -std=c++11
endif
+ifeq ($(c++14),1)
+ CCFLAGS += -std=c++14
+endif
+
ifeq ($(no_deprecated),1)
CCFLAGS += -Wno-deprecated-declarations
endif
diff --git a/ACE/include/makeinclude/platform_macosx_common.GNU b/ACE/include/makeinclude/platform_macosx_common.GNU
index 342883b2855..315521a7f8f 100644
--- a/ACE/include/makeinclude/platform_macosx_common.GNU
+++ b/ACE/include/makeinclude/platform_macosx_common.GNU
@@ -42,7 +42,7 @@ SOBUILD = -o $(VSHDIR)$*.dylib $<
ifeq ($(findstring g++,$(CXX)),)#
include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU
else
- c++11 ?= 1
+ c++14 ?= 1
include $(ACE_ROOT)/include/makeinclude/platform_clang_common.GNU
endif