diff options
author | levine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-07-09 12:30:58 +0000 |
---|---|---|
committer | levine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-07-09 12:30:58 +0000 |
commit | 79111241c858f680e3a3f71875f2222dd5062b48 (patch) | |
tree | b4b8b627847047ca5edc11425906e24bb2d496b1 /ace/IOStream_T.cpp | |
parent | d9478ee45d21cd3ac15b8ba03a4c9a5771a5e0c3 (diff) | |
download | ATCD-79111241c858f680e3a3f71875f2222dd5062b48.tar.gz |
added definition of a global to tie constructors to, with g++ and ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION only
Diffstat (limited to 'ace/IOStream_T.cpp')
-rw-r--r-- | ace/IOStream_T.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/ace/IOStream_T.cpp b/ace/IOStream_T.cpp index 8cb37b90bd7..014ec59498c 100644 --- a/ace/IOStream_T.cpp +++ b/ace/IOStream_T.cpp @@ -4,6 +4,18 @@ #if !defined (ACE_IOSTREAM_T_C) #define ACE_IOSTREAM_T_C +#if defined (ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION) && defined (__GNUC__) +# if ! defined (ACE_IOSTREAM_T_H) + // _Only_ define this when compiling this .cpp file standalone, not + // when instantiating templates. Its purpose is to provide something + // for global constructors and destructors to be tied to. Without it, + // they would be tied to the file(name). With Cygnus g++ 2.7.2/VxWorks, + // that name is used directly in variable names in the munched ctor/dtor + // file. That name contains a ".", so it's not a legal C variable name. + int ACE_IOStream_T_global_of_builtin_type_to_avoid_munch_problems = 0; +# endif /* ! ACE_IOSTREAM_T_H */ +#endif /* ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION && defined (__GNUC__) */ + #define ACE_BUILD_DLL #include "ace/IOStream_T.h" @@ -175,5 +187,5 @@ operator<< (STREAM &stream, } #endif /* ACE_HAS_STRING_CLASS */ -#endif /* ACE_IOSTREAM_T_C */ +#endif /* ACE_IOSTREAM_T_C */ |