summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-12-28 07:25:30 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-12-28 07:25:30 +0000
commit1e691a90b33550ef29cec5ec725c1a15a9410e98 (patch)
tree87ab61b4457f924b072cb3e1b26fc0645883cc3d
parentd7d0fce92eba43900c3966698c85ee2b8bfc2f40 (diff)
downloadATCD-1e691a90b33550ef29cec5ec725c1a15a9410e98.tar.gz
*** empty log message ***
-rw-r--r--ace/Hash_Map_Manager_T.cpp12
-rw-r--r--ace/Hash_Map_Manager_T.h7
2 files changed, 17 insertions, 2 deletions
diff --git a/ace/Hash_Map_Manager_T.cpp b/ace/Hash_Map_Manager_T.cpp
index d542bd402ef..2037b29b2a8 100644
--- a/ace/Hash_Map_Manager_T.cpp
+++ b/ace/Hash_Map_Manager_T.cpp
@@ -23,7 +23,17 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#if !defined (__ACE_INLINE__)
-#include "ace/Hash_Map_Manager_T.i"
+# include "ace/Hash_Map_Manager_T.i"
+#elif defined (__SUNPRO_CC)
+// If ACE_INLINE is on and we are on SunCC, undefine ACE_INLINE,
+// include ace/Hash_Map_Manager_T.i, and then redefine ACE_INLINE.
+// This nonsense is necessary since SunCC (version 4.2) cannot inline
+// the code in ace/Hash_Map_Manager_T.i (with the fast option).
+# undef ACE_INLINE
+# define ACE_INLINE
+# include "ace/Hash_Map_Manager_T.i"
+# undef ACE_INLINE
+# define ACE_INLINE inline
#endif /* __ACE_INLINE__ */
#include "ace/Synch.h"
diff --git a/ace/Hash_Map_Manager_T.h b/ace/Hash_Map_Manager_T.h
index 286c5ca775d..0280d93630e 100644
--- a/ace/Hash_Map_Manager_T.h
+++ b/ace/Hash_Map_Manager_T.h
@@ -587,7 +587,12 @@ public:
};
#if defined (__ACE_INLINE__)
-#include "ace/Hash_Map_Manager_T.i"
+// Include ace/Hash_Map_Manager_T.i on all platforms excluding SunCC.
+// This nonsense is necessary since SunCC (version 4.2) cannot inline
+// the code in ace/Hash_Map_Manager_T.i (with the fast option).
+# if !defined (__SUNPRO_CC)
+# include "ace/Hash_Map_Manager_T.i"
+# endif /* ! __SUNPRO_CC */
#endif /* __ACE_INLINE__ */
#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)