summaryrefslogtreecommitdiff
path: root/ace/IOStream_T.cpp
diff options
context:
space:
mode:
authorlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-07-09 12:30:58 +0000
committerlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-07-09 12:30:58 +0000
commit79111241c858f680e3a3f71875f2222dd5062b48 (patch)
treeb4b8b627847047ca5edc11425906e24bb2d496b1 /ace/IOStream_T.cpp
parentd9478ee45d21cd3ac15b8ba03a4c9a5771a5e0c3 (diff)
downloadATCD-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.cpp14
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 */