summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Mitz <mitza@ociweb.com>2016-09-22 16:10:01 -0500
committerGitHub <noreply@github.com>2016-09-22 16:10:01 -0500
commit92223acba96ee86841a52297a656bcde1fa4fb11 (patch)
treef0e94e60371e9686d8c7787568266ae77bd9739c
parent91dfcf284a254229c8136bbb85d3b0373d31ba35 (diff)
parent9ef7b1dd9a1ac4181df901f81bd134b53884181b (diff)
downloadATCD-92223acba96ee86841a52297a656bcde1fa4fb11.tar.gz
Merge pull request #296 from huangminghuang/rasberrypi
Use explicit template class instantiation for ACE_*_SINGLETON_DECLARE…
-rw-r--r--ACE/ace/config-g++-common.h5
-rw-r--r--TAO/examples/RTCORBA/Activity/Activity.cpp5
-rw-r--r--TAO/examples/RTCORBA/Activity/Task_Stats.cpp4
-rw-r--r--TAO/examples/RTScheduling/Fixed_Priority_Scheduler/test.cpp4
-rw-r--r--TAO/examples/RTScheduling/MIF_Scheduler/test.cpp4
-rw-r--r--TAO/examples/RTScheduling/Task_Stats.cpp5
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/AV_Core.cpp9
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/sfp.cpp7
-rw-r--r--TAO/orbsvcs/orbsvcs/AV/sfp.h3
-rw-r--r--TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp9
-rw-r--r--TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h8
-rw-r--r--TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp3
-rw-r--r--TAO/orbsvcs/tests/Notify/lib/LookupManager.cpp4
-rw-r--r--TAO/orbsvcs/tests/Notify/lib/Periodic_Supplier.cpp4
-rw-r--r--TAO/performance-tests/Cubit/TAO/MT_Cubit/Globals.cpp4
-rw-r--r--TAO/tests/Alt_Mapping/helper.cpp4
-rw-r--r--TAO/tests/Alt_Mapping/options.cpp4
-rw-r--r--TAO/tests/POA/DSI/Database_i.cpp4
-rw-r--r--TAO/tests/Param_Test/helper.cpp4
-rw-r--r--TAO/tests/Param_Test/options.cpp4
20 files changed, 36 insertions, 62 deletions
diff --git a/ACE/ace/config-g++-common.h b/ACE/ace/config-g++-common.h
index e024997f42c..4ced0ef10b6 100644
--- a/ACE/ace/config-g++-common.h
+++ b/ACE/ace/config-g++-common.h
@@ -132,8 +132,9 @@
# endif
# if defined (ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS) && ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS == 1
-# define ACE_EXPORT_SINGLETON_DECLARATION(T) template class ACE_Proper_Export_Flag T
-# define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class ACE_Proper_Export_Flag SINGLETON_TYPE <CLASS, LOCK>;
+# define ACE_EXPORT_SINGLETON_DECLARATION(T) __extension__ extern template class ACE_Proper_Export_Flag T
+# define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) __extension__ extern template class ACE_Proper_Export_Flag SINGLETON_TYPE <CLASS, LOCK>;
+# define ACE_HAS_EXPLICIT_TEMPLATE_CLASS_INSTANTIATION
# else /* ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS */
# define ACE_EXPORT_SINGLETON_DECLARATION(T) \
_Pragma ("GCC visibility push(default)") \
diff --git a/TAO/examples/RTCORBA/Activity/Activity.cpp b/TAO/examples/RTCORBA/Activity/Activity.cpp
index 67ebca5e150..89ff0aa17e5 100644
--- a/TAO/examples/RTCORBA/Activity/Activity.cpp
+++ b/TAO/examples/RTCORBA/Activity/Activity.cpp
@@ -401,6 +401,5 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[])
return rc;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<Activity, ACE_Null_Mutex> *ACE_Singleton<Activity, ACE_Null_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Activity, ACE_Null_Mutex);
+
diff --git a/TAO/examples/RTCORBA/Activity/Task_Stats.cpp b/TAO/examples/RTCORBA/Activity/Task_Stats.cpp
index d76aba08b65..9998b2bf3b7 100644
--- a/TAO/examples/RTCORBA/Activity/Task_Stats.cpp
+++ b/TAO/examples/RTCORBA/Activity/Task_Stats.cpp
@@ -138,6 +138,4 @@ Task_Stats::dump_latency_stats (
tmin,tmax);
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<Base_Time, TAO_SYNCH_MUTEX> *ACE_Singleton<Base_Time, TAO_SYNCH_MUTEX>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Base_Time, TAO_SYNCH_MUTEX);
diff --git a/TAO/examples/RTScheduling/Fixed_Priority_Scheduler/test.cpp b/TAO/examples/RTScheduling/Fixed_Priority_Scheduler/test.cpp
index df9a095bf50..92b8bcd4242 100644
--- a/TAO/examples/RTScheduling/Fixed_Priority_Scheduler/test.cpp
+++ b/TAO/examples/RTScheduling/Fixed_Priority_Scheduler/test.cpp
@@ -289,6 +289,4 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[])
return status;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<DT_Test, TAO_SYNCH_MUTEX> *ACE_Singleton<DT_Test, TAO_SYNCH_MUTEX>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, DT_Test, TAO_SYNCH_MUTEX);
diff --git a/TAO/examples/RTScheduling/MIF_Scheduler/test.cpp b/TAO/examples/RTScheduling/MIF_Scheduler/test.cpp
index 33aae3ce537..612fc46bb0f 100644
--- a/TAO/examples/RTScheduling/MIF_Scheduler/test.cpp
+++ b/TAO/examples/RTScheduling/MIF_Scheduler/test.cpp
@@ -187,6 +187,4 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[])
return status;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<DT_Test, TAO_SYNCH_MUTEX> *ACE_Singleton<DT_Test, TAO_SYNCH_MUTEX>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, DT_Test, TAO_SYNCH_MUTEX);
diff --git a/TAO/examples/RTScheduling/Task_Stats.cpp b/TAO/examples/RTScheduling/Task_Stats.cpp
index 37a0f835ef0..053ffaf63a2 100644
--- a/TAO/examples/RTScheduling/Task_Stats.cpp
+++ b/TAO/examples/RTScheduling/Task_Stats.cpp
@@ -97,6 +97,5 @@ Task_Stats::dump_samples (const ACE_TCHAR *file_name, const ACE_TCHAR *msg)
"Samples are ready to view\n"));
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<Task_Stats, TAO_SYNCH_MUTEX> *ACE_Singleton<Task_Stats, TAO_SYNCH_MUTEX>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Task_Stats, TAO_SYNCH_MUTEX);
+
diff --git a/TAO/orbsvcs/orbsvcs/AV/AV_Core.cpp b/TAO/orbsvcs/orbsvcs/AV/AV_Core.cpp
index 5c6b24a29bc..ea7a4029ee1 100644
--- a/TAO/orbsvcs/orbsvcs/AV/AV_Core.cpp
+++ b/TAO/orbsvcs/orbsvcs/AV/AV_Core.cpp
@@ -1146,8 +1146,11 @@ TAO_AV_Core::get_control_flowname(const char *flowname)
return flowname;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<TAO_AV_Core, ACE_Null_Mutex> *ACE_Singleton<TAO_AV_Core, ACE_Null_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
TAO_END_VERSIONED_NAMESPACE_DECL
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, TAO_AV_Core, ACE_Null_Mutex)
+
+ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/orbsvcs/orbsvcs/AV/sfp.cpp b/TAO/orbsvcs/orbsvcs/AV/sfp.cpp
index 20067f9e90e..ad857ef4536 100644
--- a/TAO/orbsvcs/orbsvcs/AV/sfp.cpp
+++ b/TAO/orbsvcs/orbsvcs/AV/sfp.cpp
@@ -5,6 +5,7 @@
#include "ace/ARGV.h"
#include "ace/OS_NS_strings.h"
+
TAO_BEGIN_VERSIONED_NAMESPACE_DECL
// default arguments to pass to use for the ORB
@@ -840,7 +841,7 @@ TAO_SFP_Object::TAO_SFP_Object (TAO_AV_Callback *callback,
max_credit_ (-1),
current_credit_ (-1)
{
- TAO_SFP_BASE::instance ();
+ ACE_Singleton <TAO_SFP_Base,TAO_SYNCH_MUTEX>::instance ();
this->state_.static_frame_.size (2* this->transport_->mtu ());
}
@@ -1320,10 +1321,6 @@ TAO_SFP_Frame_State::reset (void)
return 0;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<TAO_SFP_Base, TAO_SYNCH_MUTEX> *ACE_Singleton<TAO_SFP_Base, TAO_SYNCH_MUTEX>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
-
TAO_END_VERSIONED_NAMESPACE_DECL
ACE_FACTORY_DEFINE (TAO_AV, TAO_AV_SFP_Factory)
diff --git a/TAO/orbsvcs/orbsvcs/AV/sfp.h b/TAO/orbsvcs/orbsvcs/AV/sfp.h
index ec35e78373c..a61fc453641 100644
--- a/TAO/orbsvcs/orbsvcs/AV/sfp.h
+++ b/TAO/orbsvcs/orbsvcs/AV/sfp.h
@@ -206,9 +206,6 @@ protected:
// dumps the buffer to the screen.
};
-// Beware the SFP_Base code relies on the Singleton being initialized.
-typedef ACE_Singleton <TAO_SFP_Base,TAO_SYNCH_MUTEX> TAO_SFP_BASE;
-
/**
* @class TAO_SFP_Object
* @brief
diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp
index 2971584dfe6..a2280c5c416 100644
--- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp
+++ b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp
@@ -146,9 +146,8 @@ GroupInfoPublisherBase::update_info(GroupInfoPublisherBase::Info_ptr& info)
}
info_ = info;
}
-
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<GroupInfoPublisherBase, TAO_SYNCH_MUTEX> *ACE_Singleton<GroupInfoPublisherBase, TAO_SYNCH_MUTEX>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
-
TAO_END_VERSIONED_NAMESPACE_DECL
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, GroupInfoPublisherBase, TAO_SYNCH_MUTEX)
+ACE_END_VERSIONED_NAMESPACE_DECL
+
diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h
index bc2678d7120..878e956a536 100644
--- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h
+++ b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.h
@@ -10,7 +10,7 @@
#ifndef GROUPINFOPUBLISHER_H
#define GROUPINFOPUBLISHER_H
-
+#include "ftrtec_export.h"
#include "orbsvcs/FtRtecEventChannelAdminC.h"
#include "tao/PortableServer/PortableServer.h"
#include "ace/Vector_T.h"
@@ -73,8 +73,12 @@ private:
Info_ptr info_;
};
+TAO_END_VERSIONED_NAMESPACE_DECL
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+TAO_FTRTEC_SINGLETON_DECLARE(ACE_Singleton, GroupInfoPublisherBase, TAO_SYNCH_MUTEX)
typedef ACE_Singleton<GroupInfoPublisherBase, TAO_SYNCH_MUTEX> GroupInfoPublisher;
-TAO_END_VERSIONED_NAMESPACE_DECL
+ACE_END_VERSIONED_NAMESPACE_DECL
#endif
diff --git a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp b/TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp
index c894c027050..1190037fc93 100644
--- a/TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp
+++ b/TAO/orbsvcs/orbsvcs/Scheduler_Factory.cpp
@@ -775,8 +775,5 @@ ACE_Scheduler_Factory::set_preemption_priority
#endif /* HPUX && !g++ */
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<ACE_Scheduler_Factory_Data, ACE_Null_Mutex> *ACE_Singleton<ACE_Scheduler_Factory_Data, ACE_Null_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
TAO_END_VERSIONED_NAMESPACE_DECL
diff --git a/TAO/orbsvcs/tests/Notify/lib/LookupManager.cpp b/TAO/orbsvcs/tests/Notify/lib/LookupManager.cpp
index f78102f88ef..492a6a2f2bf 100644
--- a/TAO/orbsvcs/tests/Notify/lib/LookupManager.cpp
+++ b/TAO/orbsvcs/tests/Notify/lib/LookupManager.cpp
@@ -219,6 +219,4 @@ TAO_Notify_Tests_LookupManager::resolve (CosNotifyFilter::FilterAdmin_var& filte
filter_admin = CosNotifyFilter::FilterAdmin::_narrow (object.in());
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<TAO_Notify_Tests_LookupManager, TAO_SYNCH_MUTEX> *ACE_Singleton<TAO_Notify_Tests_LookupManager, TAO_SYNCH_MUTEX>::singleton_;
-#endif /*ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, TAO_Notify_Tests_LookupManager, TAO_SYNCH_MUTEX);
diff --git a/TAO/orbsvcs/tests/Notify/lib/Periodic_Supplier.cpp b/TAO/orbsvcs/tests/Notify/lib/Periodic_Supplier.cpp
index 78415f88ea5..6fb6b4f1306 100644
--- a/TAO/orbsvcs/tests/Notify/lib/Periodic_Supplier.cpp
+++ b/TAO/orbsvcs/tests/Notify/lib/Periodic_Supplier.cpp
@@ -340,6 +340,4 @@ TAO_Notify_Tests_Periodic_Supplier::dump_stats (ACE_TCHAR* msg, int dump_samples
stats_.dump_samples (fname.c_str (), buf, dump_samples);
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<Base_Time, TAO_SYNCH_MUTEX> *ACE_Singleton<Base_Time, TAO_SYNCH_MUTEX>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Base_Time, TAO_SYNCH_MUTEX);
diff --git a/TAO/performance-tests/Cubit/TAO/MT_Cubit/Globals.cpp b/TAO/performance-tests/Cubit/TAO/MT_Cubit/Globals.cpp
index 9d918022ac4..2a7be3a0ac0 100644
--- a/TAO/performance-tests/Cubit/TAO/MT_Cubit/Globals.cpp
+++ b/TAO/performance-tests/Cubit/TAO/MT_Cubit/Globals.cpp
@@ -220,6 +220,4 @@ MT_Priority::grain (void)
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<Globals, ACE_Null_Mutex> *ACE_Singleton<Globals, ACE_Null_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Globals, ACE_Null_Mutex);
diff --git a/TAO/tests/Alt_Mapping/helper.cpp b/TAO/tests/Alt_Mapping/helper.cpp
index 8921f8f74cd..b1c28b87cc1 100644
--- a/TAO/tests/Alt_Mapping/helper.cpp
+++ b/TAO/tests/Alt_Mapping/helper.cpp
@@ -104,6 +104,4 @@ Generator::gen_fixed_struct (void)
return this->fixed_struct_;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<Generator, ACE_Recursive_Thread_Mutex> *ACE_Singleton<Generator, ACE_Recursive_Thread_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Generator, ACE_Recursive_Thread_Mutex);
diff --git a/TAO/tests/Alt_Mapping/options.cpp b/TAO/tests/Alt_Mapping/options.cpp
index 99a828a576a..fc146142491 100644
--- a/TAO/tests/Alt_Mapping/options.cpp
+++ b/TAO/tests/Alt_Mapping/options.cpp
@@ -162,6 +162,4 @@ Options::shutdown (void) const
return this->shutdown_;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<Options, ACE_Recursive_Thread_Mutex> *ACE_Singleton<Options, ACE_Recursive_Thread_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Options, ACE_Recursive_Thread_Mutex);
diff --git a/TAO/tests/POA/DSI/Database_i.cpp b/TAO/tests/POA/DSI/Database_i.cpp
index 09554524fb5..7dae7d83b32 100644
--- a/TAO/tests/POA/DSI/Database_i.cpp
+++ b/TAO/tests/POA/DSI/Database_i.cpp
@@ -369,6 +369,4 @@ DatabaseImpl::Employee::operator delete (void *ptr, const ACE_nothrow_t&) throw
#endif /* ACE_HAS_NEW_NOTHROW */
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<DatabaseImpl::Simpler_Database_Malloc, ACE_Null_Mutex> *ACE_Singleton<DatabaseImpl::Simpler_Database_Malloc, ACE_Null_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, DatabaseImpl::Simpler_Database_Malloc, ACE_Null_Mutex);
diff --git a/TAO/tests/Param_Test/helper.cpp b/TAO/tests/Param_Test/helper.cpp
index 576ab86f6f1..8e5b49caf59 100644
--- a/TAO/tests/Param_Test/helper.cpp
+++ b/TAO/tests/Param_Test/helper.cpp
@@ -113,6 +113,4 @@ Generator::gen_step (void)
return this->step_;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<Generator, ACE_Recursive_Thread_Mutex> *ACE_Singleton<Generator, ACE_Recursive_Thread_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Generator, ACE_Recursive_Thread_Mutex);
diff --git a/TAO/tests/Param_Test/options.cpp b/TAO/tests/Param_Test/options.cpp
index 6539b3a8dcf..52dc12bd4ba 100644
--- a/TAO/tests/Param_Test/options.cpp
+++ b/TAO/tests/Param_Test/options.cpp
@@ -229,6 +229,4 @@ Options::shutdown (void) const
return this->shutdown_;
}
-#if defined (ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION)
-template ACE_Singleton<Options, ACE_Recursive_Thread_Mutex> *ACE_Singleton<Options, ACE_Recursive_Thread_Mutex>::singleton_;
-#endif /* ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION */
+ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, Options, ACE_Recursive_Thread_Mutex);