summaryrefslogtreecommitdiff
path: root/TAO
diff options
context:
space:
mode:
Diffstat (limited to 'TAO')
-rw-r--r--TAO/ChangeLog9
-rw-r--r--TAO/TAO_IDL/be/be_tmplinst.cpp4
-rw-r--r--TAO/tao/PortableServer/Operation_Table.cpp3
3 files changed, 16 insertions, 0 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 88c41a74b42..80305d8d109 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,12 @@
+Sat Jun 7 13:45:38 2003 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tao/PortableServer/Operation_Table.cpp:
+ * TAO_IDL/be/be_tmplinst.cpp: HP/UX and GCC do some weird things,
+ so it's necessary to explicitly instantiate all static template
+ singletons, even when using automatic template instantiation!
+ Thanks to Stan Sosnovsky <sosnovsky_stan@emc.com> for reporting
+ this.
+
Sat Jun 07 09:34:48 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
* orbsvcs/orbsvcs/PortableGroup/UIPMC_Endpoint.cpp:
diff --git a/TAO/TAO_IDL/be/be_tmplinst.cpp b/TAO/TAO_IDL/be/be_tmplinst.cpp
index e63888d6b69..cb8af2fd705 100644
--- a/TAO/TAO_IDL/be/be_tmplinst.cpp
+++ b/TAO/TAO_IDL/be/be_tmplinst.cpp
@@ -52,5 +52,9 @@ template class ACE_Unbounded_Queue_Iterator <be_interface_fwd *>;
#pragma instantiate ACE_Unbounded_Queue <be_interface_fwd *>
#pragma instantiate ACE_Unbounded_Queue_Iterator <be_interface_fwd *>
+#elif defined (__GNUC__) && defined (__hpux)
+template class ACE_Singleton<TAO_CodeGen, ACE_SYNCH_RECURSIVE_MUTEX>;
+template class ACE_Singleton<TAO_OutStream_Factory,ACE_SYNCH_RECURSIVE_MUTEX>;
+template class ACE_Singleton<TAO_Visitor_Factory,ACE_SYNCH_RECURSIVE_MUTEX>;
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/tao/PortableServer/Operation_Table.cpp b/TAO/tao/PortableServer/Operation_Table.cpp
index b1a4e99f340..a47920a1c7c 100644
--- a/TAO/tao/PortableServer/Operation_Table.cpp
+++ b/TAO/tao/PortableServer/Operation_Table.cpp
@@ -385,4 +385,7 @@ template class ACE_Hash_Map_Entry<char const *, void (*)(CORBA_ServerRequest &,
#pragma instantiate ACE_Hash_Map_Manager_Ex<const char *, TAO_Skeleton, ACE_Hash<const char *>, ACE_Equal_To<const char *>, ACE_Null_Mutex>
#pragma instantiate ACE_Hash_Map_Entry<const char *, TAO_Skeleton>
#pragma instantiate TAO_Singleton<TAO_Operation_Table_Parameters, TAO_SYNCH_RECURSIVE_MUTEX>
+
+#elif defined (__GNUC__) && defined (__hpux)
+template class TAO_Singleton<TAO_Operation_Table_Parameters,TAO_SYNCH_RECURSIVE_MUTEX>;
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */