diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-12-03 18:54:57 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-12-03 18:54:57 +0000 |
commit | a281390dff5d6ae2fe6a0fac88205706ad01f0e2 (patch) | |
tree | 103d84d790407123743bf88d681116ab01586396 | |
parent | ec76cf334643695043625f1d3eae222101cbfcf5 (diff) | |
download | ATCD-a281390dff5d6ae2fe6a0fac88205706ad01f0e2.tar.gz |
ChangeLogTag: Thu Dec 3 18:52:22 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | modules/TAO/ChangeLog | 13 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/ast/ast_field.cpp | 20 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/util/utl_global.cpp | 3 |
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. |