diff options
Diffstat (limited to 'TAO')
-rw-r--r-- | TAO/ChangeLog | 9 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_tmplinst.cpp | 4 | ||||
-rw-r--r-- | TAO/tao/PortableServer/Operation_Table.cpp | 3 |
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 */ |