summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-10-26 16:44:13 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-10-26 16:44:13 +0000
commitb3271e7fef6e49d9c84808fb9b8f45252038d5e0 (patch)
tree3c143f49b1f1b5a3a273c23b0a0e2d189a3e7033
parentc856aa5b4b03aab900273bef18e9d18ff7c392f8 (diff)
downloadATCD-b3271e7fef6e49d9c84808fb9b8f45252038d5e0.tar.gz
ChangeLogTag: Sun Oct 26 10:29:12 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/ChangeLog_ref10
-rw-r--r--TAO/TAO_IDL/be/be_visitor_tmplinst.cpp1
-rw-r--r--TAO/TAO_IDL/be/be_visitor_tmplinst/tmplinst_cs.cpp63
3 files changed, 60 insertions, 14 deletions
diff --git a/TAO/ChangeLog_ref b/TAO/ChangeLog_ref
index 702d7249810..50edfa99bf1 100644
--- a/TAO/ChangeLog_ref
+++ b/TAO/ChangeLog_ref
@@ -1,3 +1,13 @@
+Sun Oct 26 10:29:12 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_tmplinst.cpp:
+
+ Added missing generation of explicit template instantiation
+ of the Any class associated with exceptions, and also made
+ indentation changes to the generation of explicit template
+ instantiations for TAO::Objref_Traits<>, TAO::Narrow_Utils,
+ and TAO::Arg_Traits<>.
+
Sat Oct 25 12:06:06 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
* tao/PortableServer/ImplRepoC.cpp:
diff --git a/TAO/TAO_IDL/be/be_visitor_tmplinst.cpp b/TAO/TAO_IDL/be/be_visitor_tmplinst.cpp
index d0b54a4f006..ffbfe1c6d23 100644
--- a/TAO/TAO_IDL/be/be_visitor_tmplinst.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_tmplinst.cpp
@@ -25,6 +25,7 @@
#include "be_array.h"
#include "be_attribute.h"
#include "be_enum.h"
+#include "be_exception.h"
#include "be_sequence.h"
#include "be_string.h"
#include "be_structure.h"
diff --git a/TAO/TAO_IDL/be/be_visitor_tmplinst/tmplinst_cs.cpp b/TAO/TAO_IDL/be/be_visitor_tmplinst/tmplinst_cs.cpp
index 272b0e9783e..c26db6b0c9e 100644
--- a/TAO/TAO_IDL/be/be_visitor_tmplinst/tmplinst_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_tmplinst/tmplinst_cs.cpp
@@ -40,8 +40,10 @@ be_visitor_tmplinst_cs::visit_interface (be_interface *node)
os->gen_ifdef_macro (node->flat_name (), "arg_traits_tmplinst");
*os << be_nl << be_nl
- << this->prefix_ << " TAO::Arg_Traits<" << node->name ()
- << ">" << this->suffix_;
+ << this->prefix_ << this->linebreak_ << be_idt << be_idt_nl
+ << "TAO::Arg_Traits<" << this->linebreak_ << be_idt << be_idt_nl
+ << node->name () << this->linebreak_ << be_uidt_nl
+ << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt;
*os << be_nl << be_nl
<< this->prefix_ << this->linebreak_ << be_idt << be_idt_nl
@@ -50,8 +52,9 @@ be_visitor_tmplinst_cs::visit_interface (be_interface *node)
<< node->name () << "_ptr," << this->linebreak_ << be_nl
<< node->name () << "_var," << this->linebreak_ << be_nl
<< node->name () << "_out," << this->linebreak_ << be_nl
- << "TAO::Objref_Traits<" << node->name () << "> " << this->linebreak_
- << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt << be_uidt;
+ << "TAO::Objref_Traits<" << node->name ()
+ << ">" << this->linebreak_ << be_uidt_nl
+ << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt;
os->gen_endif ();
}
@@ -75,8 +78,10 @@ be_visitor_tmplinst_cs::visit_interface (be_interface *node)
// For the traits template class.
*os << be_nl << be_nl
- << this->prefix_ << " TAO::Objref_Traits<" << node->name ()
- << ">" << this->suffix_;
+ << this->prefix_ << this->linebreak_ << be_idt << be_idt_nl
+ << "TAO::Objref_Traits<" << this->linebreak_ << be_idt << be_idt_nl
+ << node->name () << this->linebreak_ << be_uidt_nl
+ << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt;
// For the _var and _out typedefs.
*os << be_nl << be_nl
@@ -94,8 +99,9 @@ be_visitor_tmplinst_cs::visit_interface (be_interface *node)
{
*os << be_nl << be_nl
<< this->prefix_ << this->linebreak_ << be_idt << be_idt_nl
- << "TAO::Narrow_Utils<" << node->name () << ">"
- << this->suffix_ << be_uidt << be_uidt;
+ << "TAO::Narrow_Utils<" << this->linebreak_ << be_idt << be_idt_nl
+ << node->name () << this->linebreak_ << be_uidt_nl
+ << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt;
}
if (be_global->gen_smart_proxies ())
@@ -152,8 +158,10 @@ be_visitor_tmplinst_cs::visit_valuetype (be_valuetype *node)
os->gen_ifdef_macro (node->flat_name (), "arg_traits_tmplinst");
*os << be_nl << be_nl
- << this->prefix_ << " TAO::Arg_Traits<" << node->name ()
- << ">" << this->suffix_;
+ << this->prefix_ << this->linebreak_ << be_idt << be_idt_nl
+ << " TAO::Arg_Traits<" << this->linebreak_ << be_idt << be_idt_nl
+ << node->name () << this->linebreak_ << be_uidt_nl
+ << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt;
*os << be_nl << be_nl
<< this->prefix_ << this->linebreak_ << be_idt << be_idt_nl
@@ -162,8 +170,9 @@ be_visitor_tmplinst_cs::visit_valuetype (be_valuetype *node)
<< node->name () << " *," << this->linebreak_ << be_nl
<< node->name () << "_var," << this->linebreak_ << be_nl
<< node->name () << "_out," << this->linebreak_ << be_nl
- << "TAO::Objref_Traits<" << node->name () << "> " << this->linebreak_
- << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt << be_uidt;
+ << "TAO::Objref_Traits<" << node->name () << "> "
+ << this->linebreak_ << be_uidt_nl
+ << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt;
os->gen_endif ();
}
@@ -184,8 +193,10 @@ be_visitor_tmplinst_cs::visit_valuetype (be_valuetype *node)
// For _var and _out template classes.
*os << be_nl << be_nl
- << this->prefix_ << " TAO::Value_Traits<" << node->name ()
- << ">" << this->suffix_;
+ << this->prefix_ << this->linebreak_ << be_idt << be_idt_nl
+ << "TAO::Value_Traits<" << this->linebreak_ << be_idt << be_idt_nl
+ << node->name () << this->linebreak_ << be_uidt_nl
+ << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt;
*os << be_nl << be_nl
<< this->prefix_ << this->linebreak_ << be_idt << be_idt_nl
@@ -639,6 +650,30 @@ be_visitor_tmplinst_cs::visit_enum (be_enum *node)
}
int
+be_visitor_tmplinst_cs::visit_exception (be_exception *node)
+{
+ if (this->this_mode_generated (node) || node->imported ())
+ {
+ return 0;
+ }
+
+ TAO_OutStream *os = this->ctx_->stream ();
+
+ if (be_global->any_support ())
+ {
+ *os << be_nl << be_nl
+ << this->prefix_ << this->linebreak_ << be_idt << be_idt_nl
+ << "TAO::Any_Dual_Impl_T<" << this->linebreak_
+ << be_idt << be_idt_nl
+ << node->name () << this->linebreak_ << be_uidt_nl
+ << ">" << this->suffix_ << be_uidt << be_uidt << be_uidt;
+ }
+
+ this->this_mode_generated (node, I_TRUE);
+ return 0;
+}
+
+int
be_visitor_tmplinst_cs::visit_structure (be_structure *node)
{
if (this->this_mode_generated (node))