diff options
author | nanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-01-14 05:16:38 +0000 |
---|---|---|
committer | nanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-01-14 05:16:38 +0000 |
commit | 35055331d27ea06e8d9a6caf530c158088f41464 (patch) | |
tree | cf527c33edb838b77bd33266b1d30d4e42664262 | |
parent | 51f3e0f35c133ea2287cae3550db378966ed2087 (diff) | |
download | ATCD-35055331d27ea06e8d9a6caf530c158088f41464.tar.gz |
Revert my previous change.
-rw-r--r-- | ace/OS.h | 8 | ||||
-rw-r--r-- | ace/config-g++-common.h | 10 | ||||
-rw-r--r-- | ace/config-osf1-4.0.h | 2 | ||||
-rw-r--r-- | ace/config-psos-diab.h | 2 | ||||
-rw-r--r-- | ace/config-psos-tm.h | 2 |
5 files changed, 10 insertions, 14 deletions
@@ -6031,7 +6031,7 @@ private: # define ACE_DES_FREE(POINTER,DEALLOCATOR,CLASS) \ do { POINTER->~CLASS (); DEALLOCATOR (POINTER); } while (0) -# if !defined (ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR) && !defined (__GNUG__) +# if defined (ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR) # define ACE_DES_NOFREE_TEMPLATE (POINTER,T_CLASS,T_PARAMETER) \ POINTER->~ T_CLASS () # define ACE_DES_FREE_TEMPLATE(POINTER,DEALLOCATOR,T_CLASS,T_PARAMETER) \ @@ -6042,11 +6042,7 @@ private: do { POINTER->~ T_CLASS (); \ DEALLOCATOR (POINTER); \ } while (0) -# else /* ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR */ -// @@ Notice that the workaround here only eliminate the compilation errors. -// It won't fix the "real problem." If the destructor is virtual, it won't -// work corrrectly. -// WARNING: memory leak possible. The compiler needs to be fixed!!! +# else /* ! ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR */ # define ACE_DES_NOFREE_TEMPLATE (POINTER,T_CLASS,T_PARAMETER) \ POINTER -> T_CLASS T_PARAMETER ::~ T_CLASS () diff --git a/ace/config-g++-common.h b/ace/config-g++-common.h index 9347a9e932c..453eda39af5 100644 --- a/ace/config-g++-common.h +++ b/ace/config-g++-common.h @@ -27,11 +27,11 @@ # define ACE_HAS_TYPENAME_KEYWORD # endif /* __GNUC__ >= 2.90 */ -// # if __GNUC__ == 2 && __GNUC_MINOR__ >= 91 -// // This is only needed with egcs 1.1 (egcs-2.91.57). It can't be -// // used with older versions. -// # define ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR -// # endif /* __GNUC__ >= 2.91 */ +# if __GNUC__ == 2 && __GNUC_MINOR__ >= 91 + // This is only needed with egcs 1.1 (egcs-2.91.57). It can't be + // used with older versions. +# define ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR +# endif /* __GNUC__ >= 2.91 */ # if __GNUC__ == 2 && __GNUC_MINOR__ != 9 && __GNUC_MINOR__ != 91 # // g++ 2.9 and egcs 2.91 apparently have a bug with this . . . diff --git a/ace/config-osf1-4.0.h b/ace/config-osf1-4.0.h index 613dc90f7aa..d2e1f0fef50 100644 --- a/ace/config-osf1-4.0.h +++ b/ace/config-osf1-4.0.h @@ -41,7 +41,7 @@ # define ACE_HAS_GNU_CSTRING_H # define ACE_HAS_REENTRANT_FUNCTIONS #elif defined (__DECCXX) -// # define ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR +# define ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR # define ACE_LACKS_LINEBUFFERED_STREAMBUF # define ACE_LACKS_SIGNED_CHAR # define DEC_CXX diff --git a/ace/config-psos-diab.h b/ace/config-psos-diab.h index e526c6c1281..a1e7a871e54 100644 --- a/ace/config-psos-diab.h +++ b/ace/config-psos-diab.h @@ -43,7 +43,7 @@ #define ACE_HAS_BROKEN_CONDITIONAL_STRING_CASTS -// #define ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR +#define ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR # define ACE_HAS_BROKEN_NOOP_DTORS diff --git a/ace/config-psos-tm.h b/ace/config-psos-tm.h index 64837182ddd..b42558f45b3 100644 --- a/ace/config-psos-tm.h +++ b/ace/config-psos-tm.h @@ -24,7 +24,7 @@ #define ACE_HAS_CPLUSPLUS_HEADERS -// #define ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR +#define ACE_HAS_BROKEN_EXPLICIT_DESTRUCTOR // Template instantiation definitions // #define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_FILE |