summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ace/config-g++-common.h11
-rw-r--r--ace/config-linux-common.h4
2 files changed, 10 insertions, 5 deletions
diff --git a/ace/config-g++-common.h b/ace/config-g++-common.h
index f557f31e9f3..31aaa96178d 100644
--- a/ace/config-g++-common.h
+++ b/ace/config-g++-common.h
@@ -9,12 +9,21 @@
#define ACE_GNUG_COMMON_H
#if __GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 90)
- // egcs or really modern gcc
+ // egcs or really modern g++
# define ACE_HAS_ANSI_CASTS
# define ACE_HAS_CPLUSPLUS_HEADERS
# define ACE_HAS_STDCPP_STL_INCLUDES
# define ACE_HAS_TEMPLATE_TYPEDEFS
# define ACE_HAS_TYPENAME_KEYWORD
+
+#elif __GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 8)
+ // egcs or g++ >= 2.8.0
+// __EXCEPTIONS is defined with -fexceptions, the default. It is not
+// defined with -fno-exceptions.
+# if defined (__EXCEPTIONS) && !defined (ACE_HAS_EXCEPTIONS)
+# define ACE_HAS_EXCEPTIONS
+# endif /* __EXCEPTIONS && ! ACE_HAS_EXCEPTIONS */
+
#else /* ! EGCS */
// Plain old g++.
# define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
diff --git a/ace/config-linux-common.h b/ace/config-linux-common.h
index b38cda36fe8..b15ea2751ef 100644
--- a/ace/config-linux-common.h
+++ b/ace/config-linux-common.h
@@ -167,8 +167,4 @@
# define ACE_NTRACE 1
#endif /* ACE_NTRACE */
-#if !defined (__EXCEPTIONS) && defined (ACE_HAS_EXCEPTIONS)
-# error ACE_HAS_EXCEPTIONS requested but old g++ does not support it well
-#endif /* ! __EXCEPTIONS && ACE_HAS_EXCEPTIONS */
-
#endif /* ACE_LINUX_COMMON_H */