summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-12-03 18:54:57 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-12-03 18:54:57 +0000
commita281390dff5d6ae2fe6a0fac88205706ad01f0e2 (patch)
tree103d84d790407123743bf88d681116ab01586396
parentec76cf334643695043625f1d3eae222101cbfcf5 (diff)
downloadATCD-a281390dff5d6ae2fe6a0fac88205706ad01f0e2.tar.gz
ChangeLogTag: Thu Dec 3 18:52:22 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--modules/TAO/ChangeLog13
-rw-r--r--modules/TAO/TAO_IDL/ast/ast_field.cpp20
-rw-r--r--modules/TAO/TAO_IDL/util/utl_global.cpp3
3 files changed, 27 insertions, 9 deletions
diff --git a/modules/TAO/ChangeLog b/modules/TAO/ChangeLog
index 1db376d5c72..b7b09e152d6 100644
--- a/modules/TAO/ChangeLog
+++ b/modules/TAO/ChangeLog
@@ -1,3 +1,16 @@
+Thu Dec 3 18:52:22 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/ast/ast_field.cpp:
+
+ Added check for AST_Param_Holder as field type, and
+ made this type (along with sequence and array) one
+ whose lifetime is tied to the field node.
+
+ * TAO_IDL/util/utl_global.cpp:
+
+ Added initialization in the constuctor for the new
+ member that stores a template param list.
+
Wed Dec 2 21:21:24 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/include/ast_generator.h:
diff --git a/modules/TAO/TAO_IDL/ast/ast_field.cpp b/modules/TAO/TAO_IDL/ast/ast_field.cpp
index 47bcc85b591..91d248ac945 100644
--- a/modules/TAO/TAO_IDL/ast/ast_field.cpp
+++ b/modules/TAO/TAO_IDL/ast/ast_field.cpp
@@ -101,10 +101,12 @@ AST_Field::AST_Field (AST_Type *ft,
{
AST_Decl::NodeType fnt = ft->node_type ();
- if (AST_Decl::NT_array == fnt || AST_Decl::NT_sequence == fnt)
- {
- this->owns_base_type_ = true;
- }
+ // In each of these cases, we are responsible for destroying
+ // our ref_type_ member.
+ this->owns_base_type_ =
+ fnt == AST_Decl::NT_array
+ || fnt == AST_Decl::NT_sequence
+ || fnt == AST_Decl::NT_param_holder;
}
// To be used when constructing a node of a subclass of AST_Field.
@@ -121,10 +123,12 @@ AST_Field::AST_Field (AST_Decl::NodeType nt,
{
AST_Decl::NodeType fnt = ft->node_type ();
- if (AST_Decl::NT_array == fnt || AST_Decl::NT_sequence == fnt)
- {
- this->owns_base_type_ = true;
- }
+ // In each of these cases, we are responsible for destroying
+ // our ref_type_ member.
+ this->owns_base_type_ =
+ fnt == AST_Decl::NT_array
+ || fnt == AST_Decl::NT_sequence
+ || fnt == AST_Decl::NT_param_holder;
}
AST_Field::~AST_Field (void)
diff --git a/modules/TAO/TAO_IDL/util/utl_global.cpp b/modules/TAO/TAO_IDL/util/utl_global.cpp
index 641b276bc9f..509593b3bbd 100644
--- a/modules/TAO/TAO_IDL/util/utl_global.cpp
+++ b/modules/TAO/TAO_IDL/util/utl_global.cpp
@@ -149,7 +149,8 @@ IDL_GlobalData::IDL_GlobalData (void)
dcps_gen_zero_copy_read_ (false),
recursion_start_ (0),
multi_file_input_ (false),
- big_file_name_ ("PICML_IDL_file_bag")
+ big_file_name_ ("PICML_IDL_file_bag"),
+ current_params_ (0)
{
// Path for the perfect hash generator(gperf) program.
// Default is $ACE_ROOT/bin/gperf unless ACE_GPERF is defined.