diff options
author | Steve Huston <shuston@riverace.com> | 2005-11-15 16:36:49 +0000 |
---|---|---|
committer | Steve Huston <shuston@riverace.com> | 2005-11-15 16:36:49 +0000 |
commit | 0cbbea328e65d0fb7add38cbcdc070f110a7688d (patch) | |
tree | f223e62c1bf4574bf2263df4b5f52c5abac6eb09 | |
parent | 5323379bb000e24b9b4d98869a59bd0e8100a548 (diff) | |
download | ATCD-0cbbea328e65d0fb7add38cbcdc070f110a7688d.tar.gz |
ChangeLogTag:Tue Nov 15 11:31:41 2005 Steve Huston <shuston@riverace.com>
-rw-r--r-- | ace/Atomic_Op.h | 4 | ||||
-rw-r--r-- | ace/Atomic_Op.inl | 4 | ||||
-rw-r--r-- | ace/Event_Handler.cpp | 14 | ||||
-rw-r--r-- | ace/Malloc_Instantiations.cpp | 5 | ||||
-rw-r--r-- | protocols/ace/RMCast/Makefile.am | 3 | ||||
-rw-r--r-- | protocols/ace/RMCast/Template_Instantiations.cpp | 27 |
6 files changed, 51 insertions, 6 deletions
diff --git a/ace/Atomic_Op.h b/ace/Atomic_Op.h index 7454946a64f..3cd7dad0d86 100644 --- a/ace/Atomic_Op.h +++ b/ace/Atomic_Op.h @@ -64,7 +64,7 @@ public: ACE_Atomic_Op (void); /// Initialize <value_> to c. - ACE_Atomic_Op (long c); + ACE_Atomic_Op (const long &c); /// Manage copying... ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, long> &c); @@ -163,7 +163,7 @@ public: ACE_Atomic_Op (void); /// Initialize <value_> to c. - ACE_Atomic_Op (unsigned long c); + ACE_Atomic_Op (const unsigned long &c); /// Manage copying... ACE_Atomic_Op (const ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long> &c); diff --git a/ace/Atomic_Op.inl b/ace/Atomic_Op.inl index 81bf9d8a9f3..007f653bbfa 100644 --- a/ace/Atomic_Op.inl +++ b/ace/Atomic_Op.inl @@ -14,7 +14,7 @@ ACE_Atomic_Op<ACE_Thread_Mutex, long>::ACE_Atomic_Op (void) } ACE_INLINE -ACE_Atomic_Op<ACE_Thread_Mutex, long>::ACE_Atomic_Op (long c) +ACE_Atomic_Op<ACE_Thread_Mutex, long>::ACE_Atomic_Op (const long &c) : value_ (c) { } @@ -159,7 +159,7 @@ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::ACE_Atomic_Op (void) } ACE_INLINE -ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::ACE_Atomic_Op (unsigned long c) +ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::ACE_Atomic_Op (const unsigned long &c) : value_ (c) { } diff --git a/ace/Event_Handler.cpp b/ace/Event_Handler.cpp index 10a2a472ed7..de0a347bdc1 100644 --- a/ace/Event_Handler.cpp +++ b/ace/Event_Handler.cpp @@ -6,6 +6,8 @@ #include "ace/OS_Errno.h" #include "ace/Reactor.h" #include "ace/Thread_Manager.h" +/* Need to see if ACE_HAS_BUILTIN_ATOMIC_OP defined */ +#include "ace/Atomic_Op.h" #if !defined (__ACE_INLINE__) #include "ace/Event_Handler.inl" @@ -407,4 +409,16 @@ ACE_Notification_Buffer::ACE_Notification_Buffer (ACE_Event_Handler *eh, ACE_TRACE ("ACE_Notification_Buffer::ACE_Notification_Buffer"); } +// ACE_HAS_BUILTIN_ATOMIC_OP triggers specialization of these, so the +// instantiations aren't needed here. +#if !defined (ACE_HAS_BUILTIN_ATOMIC_OP) +# if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +template class ACE_Atomic_Op<ACE_SYNCH_MUTEX, long>; +template class ACE_Atomic_Op_Ex<ACE_SYNCH_MUTEX, long>; +# elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +# pragma instantiate ACE_Atomic_Op<ACE_SYNCH_MUTEX, long> +# pragma instantiate ACE_Atomic_Op_Ex<ACE_SYNCH_MUTEX, long> +# endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ +#endif /* ACE_HAS_BUILTIN_ATOMIC_OP */ + ACE_END_VERSIONED_NAMESPACE_DECL diff --git a/ace/Malloc_Instantiations.cpp b/ace/Malloc_Instantiations.cpp index 87ad264e60f..5eea274f6bb 100644 --- a/ace/Malloc_Instantiations.cpp +++ b/ace/Malloc_Instantiations.cpp @@ -1,7 +1,10 @@ // $Id$ -#include "ace/Malloc.h" +#include "ace/Local_Memory_Pool.h" +#include "ace/Malloc_T.h" #include "ace/Null_Mutex.h" +#include "ace/Synch_Traits.h" +#include "ace/Thread_Mutex.h" ACE_BEGIN_VERSIONED_NAMESPACE_DECL diff --git a/protocols/ace/RMCast/Makefile.am b/protocols/ace/RMCast/Makefile.am index cfc1c88914b..1a121915c62 100644 --- a/protocols/ace/RMCast/Makefile.am +++ b/protocols/ace/RMCast/Makefile.am @@ -35,7 +35,8 @@ libACE_RMCast_la_SOURCES = \ Retransmit.cpp \ Simulator.cpp \ Socket.cpp \ - Stack.cpp + Stack.cpp \ + Template_Instantiations.cpp libACE_RMCast_la_LDFLAGS = \ -version-number @ACE_MAJOR@:@ACE_MINOR@:@ACE_BETA@ diff --git a/protocols/ace/RMCast/Template_Instantiations.cpp b/protocols/ace/RMCast/Template_Instantiations.cpp new file mode 100644 index 00000000000..0e536969dec --- /dev/null +++ b/protocols/ace/RMCast/Template_Instantiations.cpp @@ -0,0 +1,27 @@ +// $Id$ + +// Note: this file is here only until support for explicit template +// instantiations is removed from ACE, after ACE 5.5 is released. + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) || \ + defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) + +# include "ace/Hash_Map_Manager.h" +# include "Acknowledge.h" + +#endif + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) + +template class ACE_Hash_Map_Manager<unsigned long, ACE_RMCast::Acknowledge::Descr, ACE_Null_Mutex>; +template class ACE_Hash_Map_Manager_Ex<unsigned long, ACE_RMCast::Acknowledge::Descr, ACE_Hash<unsigned long>, ACE_Equal_To<unsigned long>, ACE_Null_Mutex>; + +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) + +# pragma instantiate class ACE_Hash_Map_Manager<unsigned long, ACE_RMCast::Acknowledge::Descr, ACE_Null_Mutex> +# pragma instantiate ACE_Hash_Map_Manager_Ex<unsigned long, ACE_RMCast::Acknowledge::Descr, ACE_Hash<unsigned long>, ACE_Equal_To<unsigned long>, ACE_Null_Mutex> + +#elif defined (__HP_aCC) +// Make aC++ stop complaining about an empty translation unit +static int shut_up_aCC = 0; +#endif |