summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormsmit <msmit@remedy.nl>2011-11-24 11:00:17 +0000
committermsmit <msmit@remedy.nl>2011-11-24 11:00:17 +0000
commitb5d602d6767d8f69c455c3bd39f27f1fe1301aa6 (patch)
tree6425d1b743d411055560cbe29c69099b9a694030
parent748b9200f590bc2a5913702e20fcae5a48ef8039 (diff)
downloadATCD-b5d602d6767d8f69c455c3bd39f27f1fe1301aa6.tar.gz
Thu Nov 24 10:59:28 UTC 2011 Marcel Smit <msmit@remedy.nl>
* TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/be_provides.cpp: * TAO_IDL/be/be_visitor_operation/operation_svs.cpp: Included templated source file into the templated header. Fixed some compile issues related to this.
-rw-r--r--TAO/ChangeLog.BRANCH8
-rw-r--r--TAO/TAO_IDL/be/be_codegen.cpp4
-rw-r--r--TAO/TAO_IDL/be/be_provides.cpp6
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/operation_svs.cpp6
4 files changed, 22 insertions, 2 deletions
diff --git a/TAO/ChangeLog.BRANCH b/TAO/ChangeLog.BRANCH
index f0ead736d27..a717631e3c6 100644
--- a/TAO/ChangeLog.BRANCH
+++ b/TAO/ChangeLog.BRANCH
@@ -1,3 +1,11 @@
+Thu Nov 24 10:59:28 UTC 2011 Marcel Smit <msmit@remedy.nl>
+
+ * TAO_IDL/be/be_codegen.cpp:
+ * TAO_IDL/be/be_provides.cpp:
+ * TAO_IDL/be/be_visitor_operation/operation_svs.cpp:
+ Included templated source file into the templated header.
+ Fixed some compile issues related to this.
+
Thu Nov 24 07:43:27 UTC 2011 Marcel Smit <msmit@remedy.nl>
* TAO_IDL/be/be_visitor_component/facet_svth.cpp:
diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp
index 43e9589fc76..ebec815b989 100644
--- a/TAO/TAO_IDL/be/be_codegen.cpp
+++ b/TAO/TAO_IDL/be/be_codegen.cpp
@@ -1943,6 +1943,10 @@ TAO_CodeGen::end_ciao_svnt_source (void)
int
TAO_CodeGen::end_ciao_svnt_template_header (void)
{
+ *this->ciao_svnt_template_header_ << "\n#include \""
+ << be_global->be_get_ciao_tmpl_svnt_src_fname ()
+ << "\"";
+
if (be_global->post_include () != 0)
{
*this->ciao_svnt_template_header_ << "\n\n#include /**/ \""
diff --git a/TAO/TAO_IDL/be/be_provides.cpp b/TAO/TAO_IDL/be/be_provides.cpp
index 0e7b080415c..264dec8b5f4 100644
--- a/TAO/TAO_IDL/be/be_provides.cpp
+++ b/TAO/TAO_IDL/be/be_provides.cpp
@@ -157,9 +157,9 @@ be_provides::gen_facet_svnt_tmpl_defn (TAO_OutStream &os)
<< "{" << be_idt_nl;
os << "template <typename BASE, typename EXEC, typename CONTEXT>" << be_nl
- << lname << "_Servant_T::"
+ << lname << "_Servant_T<BASE, EXEC, CONTEXT>::"
<< lname << "_Servant_T (" << be_idt << be_idt_nl
- << "EXEC::_ptr_type executor," << be_nl
+ << "typename EXEC::_ptr_type executor," << be_nl
<< "::Components::CCMContext_ptr ctx)" << be_uidt_nl
<< ": " << global << "CIAO::Facet_Servant_Base_T<BASE, EXEC, "
<< "CONTEXT> (executor, ctx)"
@@ -208,6 +208,8 @@ be_provides::gen_facet_svnt_tmpl_defn (TAO_OutStream &os)
}
}
+ os << be_uidt_nl << "}";
+
impl->svnt_src_facet_gen (true);
return 0;
}
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/operation_svs.cpp b/TAO/TAO_IDL/be/be_visitor_operation/operation_svs.cpp
index 1cdf3c7887f..4b6d36e3524 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation/operation_svs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation/operation_svs.cpp
@@ -31,6 +31,12 @@ be_visitor_operation_svs::visit_operation (be_operation *node)
os_ << be_nl_2;
+
+ if (this->ctx_->state () == TAO_CodeGen::TAO_ROOT_SVTS)
+ {
+ os_ << "template <typename BASE, typename EXEC, typename CONTEXT>"
+ << be_nl;
+ }
// Retrieve the operation return type.
be_type *bt = be_type::narrow_from_decl (node->return_type ());