diff options
author | bala <balanatarajan@users.noreply.github.com> | 2003-05-27 22:47:24 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2003-05-27 22:47:24 +0000 |
commit | 8fcb912818b457b1a35c7356cd0be2e00af97dc1 (patch) | |
tree | c01c145a501eafd2109a8ec5afdb07750bd9302f | |
parent | 7febdafe7c6a5c75737fb8af2ef785ea76873e69 (diff) | |
download | ATCD-8fcb912818b457b1a35c7356cd0be2e00af97dc1.tar.gz |
ChangeLogTag:Tue May 27 17:37:21 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 11 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/IFRService/ComponentDef_i.cpp | 47 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/IFRService/tmplinst.cpp | 10 |
3 files changed, 42 insertions, 26 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 7433575c771..211f189427e 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,14 @@ +Tue May 27 17:37:21 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu> + + * orbsvcs/orbsvcs/IFRService/ComponentDef_i.cpp: + * orbsvcs/orbsvcs/IFRService/tmplinst.cpp: Fixed a explicit + template instantiation problem in our daily builds. The problem + was that some of the instantiated templates also had a + specialization which the compiler couldn't see. The fix + essentially moved the explicit template instantiations after the + specialization so that the compiler doesn't get confused when + using explicit template instantiations. + Tue May 27 15:17:31 2003 Jeff Parsons <j.parsons@vanderbilt.edu> * TAO_IDL/be/be_visitor_interface/interface_ci.cpp: diff --git a/TAO/orbsvcs/orbsvcs/IFRService/ComponentDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/ComponentDef_i.cpp index 4109cfa521d..51ffba8b782 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/ComponentDef_i.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/ComponentDef_i.cpp @@ -11,8 +11,8 @@ #include "ExtAttributeDef_i.h" #include "IFR_Service_Utils.h" -ACE_RCSID (IFRService, - ComponentDef_i, +ACE_RCSID (IFRService, + ComponentDef_i, "$Id$") // Specialization. @@ -29,14 +29,14 @@ TAO_Port_Desc_Seq_Utils<CORBA::ComponentIR::UsesDescriptionSeq>::get_is_multiple config->get_integer_value (key, "is_multiple", is_multiple); - desc_seq[index].is_multiple = + desc_seq[index].is_multiple = ACE_static_cast (CORBA::Boolean, is_multiple); } // Specialization. template<> -void +void TAO_Port_Desc_Seq_Utils<CORBA::ComponentIR::EventPortDescriptionSeq>::port_base_type ( CORBA::ComponentIR::EventPortDescriptionSeq &desc_seq, ACE_TString &holder, @@ -60,6 +60,18 @@ TAO_Port_Utils<CORBA::ComponentIR::UsesDef>::set_is_multiple ( is_multiple); } +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +template class TAO_Port_Desc_Seq_Utils<CORBA::ComponentIR::UsesDescriptionSeq>; +template class TAO_Port_Desc_Seq_Utils<CORBA::ComponentIR::EventPortDescriptionSeq>; +template class TAO_Port_Utils<CORBA::ComponentIR::UsesDef>; + +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) + +#pragma instantiate TAO_Port_Desc_Seq_Utils<CORBA::ComponentIR::UsesDescriptionSeq> +#pragma instantiate TAO_Port_Desc_Seq_Utils<CORBA::ComponentIR::EventPortDescriptionSeq> +#pragma instantiate TAO_Port_Utils<CORBA::ComponentIR::UsesDef> + +#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION*/ // ============================================================== TAO_ComponentDef_i::TAO_ComponentDef_i ( @@ -365,7 +377,7 @@ TAO_ComponentDef_i::supported_interfaces_i (ACE_ENV_SINGLE_ARG_DECL) CORBA::ULong count = 0; ACE_Configuration_Section_Key supported_key; - int status = + int status = this->repo_->config ()->open_section (this->section_key_, "supported", 0, @@ -387,7 +399,7 @@ TAO_ComponentDef_i::supported_interfaces_i (ACE_ENV_SINGLE_ARG_DECL) this->repo_->config ()->get_string_value (supported_key, stringified, path); - tmp = + tmp = TAO_IFR_Service_Utils::path_to_ir_object (path, this->repo_ ACE_ENV_ARG_PARAMETER); @@ -443,7 +455,7 @@ TAO_ComponentDef_i::supported_interfaces_i ( for (CORBA::ULong i = 0; i < length; ++i) { - supported_path = + supported_path = TAO_IFR_Service_Utils::reference_to_path ( supported_interfaces[i].in () ); @@ -533,10 +545,10 @@ TAO_ComponentDef_i::base_component_i ( "base_component"); return; } - - const char *base_path = + + const char *base_path = TAO_IFR_Service_Utils::reference_to_path (base_component); - + // Get the servant's key into the temporary key holder, because // the name clash checker for base valuetypes is static, and has // no other way to know about a specific key. @@ -552,7 +564,7 @@ TAO_ComponentDef_i::base_component_i ( CORBA::dk_Component ACE_ENV_ARG_PARAMETER); ACE_CHECK; - + this->repo_->config ()->set_string_value ( this->section_key_, "base_component", @@ -592,7 +604,7 @@ TAO_ComponentDef_i::create_provides_i ( ) ACE_THROW_SPEC ((CORBA::SystemException)) { - return + return TAO_Port_Utils< CORBA::ComponentIR::ProvidesDef >::create_entry (id, @@ -638,7 +650,7 @@ TAO_ComponentDef_i::create_uses_i (const char *id, ACE_ENV_ARG_DECL) ACE_THROW_SPEC ((CORBA::SystemException)) { - return + return TAO_Port_Utils< CORBA::ComponentIR::UsesDef >::create_entry (id, @@ -681,7 +693,7 @@ TAO_ComponentDef_i::create_emits_i (const char *id, ACE_ENV_ARG_DECL) ACE_THROW_SPEC ((CORBA::SystemException)) { - return + return TAO_Port_Utils< CORBA::ComponentIR::EmitsDef >::create_entry (id, @@ -724,7 +736,7 @@ TAO_ComponentDef_i::create_publishes_i (const char *id, ACE_ENV_ARG_DECL) ACE_THROW_SPEC ((CORBA::SystemException)) { - return + return TAO_Port_Utils< CORBA::ComponentIR::PublishesDef >::create_entry (id, @@ -767,7 +779,7 @@ TAO_ComponentDef_i::create_consumes_i (const char *id, ACE_ENV_ARG_DECL) ACE_THROW_SPEC ((CORBA::SystemException)) { - return + return TAO_Port_Utils< CORBA::ComponentIR::ConsumesDef >::create_entry (id, @@ -800,7 +812,6 @@ TAO_ComponentDef_i::name_clash (const char *name) return 1; } ACE_ENDTRY; - + return 0; } - diff --git a/TAO/orbsvcs/orbsvcs/IFRService/tmplinst.cpp b/TAO/orbsvcs/orbsvcs/IFRService/tmplinst.cpp index 95f83d36b18..a943e8e88d6 100644 --- a/TAO/orbsvcs/orbsvcs/IFRService/tmplinst.cpp +++ b/TAO/orbsvcs/orbsvcs/IFRService/tmplinst.cpp @@ -5,8 +5,8 @@ #include "ComponentRepository_i.h" #include "ace/Auto_Ptr.h" -ACE_RCSID (IFRService, - tmplinst, +ACE_RCSID (IFRService, + tmplinst, "$Id$") #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) @@ -138,10 +138,7 @@ template class TAO_IFR_Generic_Utils<TAO_EmitsDef_i>; template class TAO_IFR_Generic_Utils<TAO_PublishesDef_i>; template class TAO_IFR_Generic_Utils<TAO_ConsumesDef_i>; template class TAO_Port_Desc_Seq_Utils<CORBA::ComponentIR::ProvidesDescriptionSeq>; -template class TAO_Port_Desc_Seq_Utils<CORBA::ComponentIR::UsesDescriptionSeq>; -template class TAO_Port_Desc_Seq_Utils<CORBA::ComponentIR::EventPortDescriptionSeq>; template class TAO_Port_Utils<CORBA::ComponentIR::ProvidesDef>; -template class TAO_Port_Utils<CORBA::ComponentIR::UsesDef>; template class TAO_Port_Utils<CORBA::ComponentIR::EmitsDef>; template class TAO_Port_Utils<CORBA::ComponentIR::PublishesDef>; template class TAO_Port_Utils<CORBA::ComponentIR::ConsumesDef>; @@ -277,10 +274,7 @@ template class TAO_IFR_Strseq_Utils<CORBA::ContextIdSeq>; #pragma instantiate TAO_IFR_Generic_Utils<TAO_PublishesDef_i> #pragma instantiate TAO_IFR_Generic_Utils<TAO_ConsumesDef_i> #pragma instantiate TAO_Port_Desc_Seq_Utils<CORBA::ComponentIR::ProvidesDescriptionSeq> -#pragma instantiate TAO_Port_Desc_Seq_Utils<CORBA::ComponentIR::UsesDescriptionSeq> -#pragma instantiate TAO_Port_Desc_Seq_Utils<CORBA::ComponentIR::EventPortDescriptionSeq> #pragma instantiate TAO_Port_Utils<CORBA::ComponentIR::ProvidesDef> -#pragma instantiate TAO_Port_Utils<CORBA::ComponentIR::UsesDef> #pragma instantiate TAO_Port_Utils<CORBA::ComponentIR::EmitsDef> #pragma instantiate TAO_Port_Utils<CORBA::ComponentIR::PublishesDef> #pragma instantiate TAO_Port_Utils<CORBA::ComponentIR::ConsumesDef> |