summaryrefslogtreecommitdiff
path: root/ACE/ace/config-g++-common.h
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2020-11-28 10:13:10 +0100
committerJohnny Willemsen <jwillemsen@remedy.nl>2020-11-28 10:13:10 +0100
commita1fa973ae766fb43fd095577cee78e58669b61bf (patch)
tree7ab0d2fb9d7dd58cbd73a2bf68b0475d5488be40 /ACE/ace/config-g++-common.h
parent776c0f398c88ac855c7a3d32ccc0a48e6b802f46 (diff)
downloadATCD-a1fa973ae766fb43fd095577cee78e58669b61bf.tar.gz
Cleanup for gcc <= 4.8 which don't support C++11
* ACE/ace/OS_NS_dlfcn.inl: * ACE/ace/Stack_Trace.cpp: * ACE/ace/Time_Value.inl: * ACE/ace/config-aix-5.x.h: * ACE/ace/config-g++-common.h: * ACE/ace/config-icc-common.h: * ACE/ace/config-macosx-leopard.h: * ACE/ace/config-macosx-tiger.h: * ACE/ace/config-macros.h: * ACE/ace/config-sunos5.5.h: * ACE/ace/os_include/os_dlfcn.h: * TAO/orbsvcs/orbsvcs/Notify/MonitorControlExt/MC_Default_Factory.h: * TAO/orbsvcs/orbsvcs/Notify/RT_Factory.h: * TAO/tao/SystemException.h:
Diffstat (limited to 'ACE/ace/config-g++-common.h')
-rw-r--r--ACE/ace/config-g++-common.h40
1 files changed, 6 insertions, 34 deletions
diff --git a/ACE/ace/config-g++-common.h b/ACE/ace/config-g++-common.h
index a4c945249e4..360074a6bde 100644
--- a/ACE/ace/config-g++-common.h
+++ b/ACE/ace/config-g++-common.h
@@ -21,15 +21,8 @@
#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
#define ACE_TEMPLATES_REQUIRE_SOURCE
-#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-# define ACE_EXPLICIT_TEMPLATE_DESTRUCTOR_TAKES_ARGS
-#endif /* __GNUC__ >= 3.4 */
-
#define ACE_NEW_THROWS_EXCEPTIONS
-#if (__GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))
-// Versions of g++ prior to 3.3 had a buggy operator // new(nothrow)[]().
-# define ACE_HAS_NEW_NOTHROW
-#endif /* __GNUC__ >= 3.3 */
+#define ACE_HAS_NEW_NOTHROW
#if __cplusplus >= 201103L
# define ACE_HAS_CPP11
@@ -100,9 +93,9 @@
# define ACE_LACKS_PRAGMA_ONCE
#endif /* ! ACE_LACKS_PRAGMA_ONCE */
-// Take advantage of G++ (>= 4.x) visibility attributes to generate
+// Take advantage of g++ visibility attributes to generate
// improved shared library binaries.
-#if (__GNUC__ >= 4) && !defined (__MINGW32__) && !defined (ACE_HAS_CEGCC)
+#if !defined (__MINGW32__) && !defined (ACE_HAS_CEGCC)
# if defined (ACE_HAS_CUSTOM_EXPORT_MACROS) && ACE_HAS_CUSTOM_EXPORT_MACROS == 0
# undef ACE_HAS_CUSTOM_EXPORT_MACROS
@@ -121,18 +114,8 @@
# define ACE_Proper_Import_Flag __attribute__ ((visibility("default")))
# endif /* !ACE_Proper_Import_Flag */
-# if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 2))
-// Sadly, G++ 4.x silently ignores visibility attributes on
-// template instantiations, which breaks singletons.
-// As a workaround, we use the GCC visibility pragmas.
-// And to make them fit in a macro, we use C99's _Pragma()
-// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17470
-// This has been fixed in GCC 4.1.1 with FC6 but not with SuSE 10.2
-// that gets shipped with GCC 4.1.2 so we assume that with GCC 4.2
-// this will be fixed on the head. With FC6 just set this define yourself
-# ifndef ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS
-# define ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS 1
-# endif
+# ifndef ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS
+# define ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS 1
# endif
# if defined (ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS) && ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS == 1
@@ -158,18 +141,10 @@
# endif /* ACE_HAS_CUSTOM_EXPORT_MACROS == 0 */
#endif /* __GNU__ >= 4 */
-// GCC >= 4.1 provides __sync_XXXX builtins for use in atomic operations
-// although the builtins are provided globally they are not supported on all platforms
#if defined (ACE_HAS_THREADS)
-#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 1))
# if defined (__powerpc__)
// The builtins seem to be provided for all powerpc platforms
# define ACE_HAS_GCC_ATOMIC_BUILTINS 1
-# if ((__GNUC__ == 4) && (__GNUC_MINOR__ == 1) && (__GNUC_PATCHLEVEL__ == 1))
-// PPU GCC 4.1.1 doesn't have builtin atomic ops for size 1/2
-# define ACE_LACKS_GCC_ATOMIC_BUILTINS_2
-# define ACE_LACKS_GCC_ATOMIC_BUILTINS_1
-# endif
# endif
# if defined (__ia64)
// The builtins seem to be provided for the IA64 platforms
@@ -179,12 +154,9 @@
// The builtin's are provided also for 64bit linux
# define ACE_HAS_GCC_ATOMIC_BUILTINS 1
# endif
-#endif
#endif /* ACE_HAS_THREADS */
-#if (__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 5))
-# define ACE_GCC_NO_RETURN __attribute__ ((__noreturn__))
-#endif
+#define ACE_GCC_NO_RETURN __attribute__ ((__noreturn__))
#include /**/ "ace/post.h"
#endif /* ACE_GNUG_COMMON_H */