summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-12-14 19:23:37 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-12-14 19:23:37 +0000
commit6621016eaaa29135f5120829172023b76b4af779 (patch)
tree00c93ceedb08526c983b6a8b03b953cec0dbcc6f
parent5748f8f05b1ea9c077df9f0f3201fa7d9ec614e0 (diff)
downloadATCD-6621016eaaa29135f5120829172023b76b4af779.tar.gz
ChangeLogTag: Mon Dec 14 19:21:39 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--modules/TAO/ChangeLog9
-rw-r--r--modules/TAO/TAO_IDL/fe/idl.yy16
-rw-r--r--modules/TAO/TAO_IDL/fe/y.tab.cpp16
3 files changed, 37 insertions, 4 deletions
diff --git a/modules/TAO/ChangeLog b/modules/TAO/ChangeLog
index 82e0cf26f18..0bd03f1ef85 100644
--- a/modules/TAO/ChangeLog
+++ b/modules/TAO/ChangeLog
@@ -1,3 +1,12 @@
+Mon Dec 14 19:21:39 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/fe/idl.yy:
+ * TAO_IDL/fe/y.tab.cpp:
+
+ Restored semantic action to create a non-template porttype,
+ removed at the beginning of revised IDL3+ template support
+ work.
+
Mon Dec 14 18:16:17 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/ast/ast_expression.cpp:
diff --git a/modules/TAO/TAO_IDL/fe/idl.yy b/modules/TAO/TAO_IDL/fe/idl.yy
index 606d9756785..85fe1770b96 100644
--- a/modules/TAO/TAO_IDL/fe/idl.yy
+++ b/modules/TAO/TAO_IDL/fe/idl.yy
@@ -108,7 +108,6 @@ trademarks or registered trademarks of Sun Microsystems, Inc.
#include "fe_declarator.h"
#include "fe_interface_header.h"
-#include "fe_template_interface_header.h"
#include "fe_obv_header.h"
#include "fe_event_header.h"
#include "fe_component_header.h"
@@ -156,7 +155,6 @@ AST_Expression::ExprType t_param_const_type = AST_Expression::EV_none;
UTL_LabelList *llval; /* Label list */
UTL_DeclList *dlval; /* Declaration list */
FE_InterfaceHeader *ihval; /* Interface header */
- FE_Template_InterfaceHeader *thval; /* Template interface hdr */
FE_OBVHeader *vhval; /* Valuetype header */
FE_EventHeader *ehval; /* Event header */
FE_ComponentHeader *chval; /* Component header */
@@ -6346,6 +6344,20 @@ porttype_decl
{
// IDENTIFIER
idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen);
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+
+ Identifier id ($3);
+ ACE::strdelete ($3);
+ $3 = 0;
+
+ UTL_ScopedName sn (&id, 0);
+ AST_PortType *p =
+ idl_global->gen ()->create_porttype (&sn);
+
+ (void) s->fe_add_porttype (p);
+
+ // Push it on the scopes stack.
+ idl_global->scopes ().push (p);
}
'{'
{
diff --git a/modules/TAO/TAO_IDL/fe/y.tab.cpp b/modules/TAO/TAO_IDL/fe/y.tab.cpp
index 1093d5973d2..5cb6f63833c 100644
--- a/modules/TAO/TAO_IDL/fe/y.tab.cpp
+++ b/modules/TAO/TAO_IDL/fe/y.tab.cpp
@@ -278,7 +278,6 @@
#include "fe_declarator.h"
#include "fe_interface_header.h"
-#include "fe_template_interface_header.h"
#include "fe_obv_header.h"
#include "fe_event_header.h"
#include "fe_component_header.h"
@@ -343,7 +342,6 @@ typedef union TAO_YYSTYPE
UTL_LabelList *llval; /* Label list */
UTL_DeclList *dlval; /* Declaration list */
FE_InterfaceHeader *ihval; /* Interface header */
- FE_Template_InterfaceHeader *thval; /* Template interface hdr */
FE_OBVHeader *vhval; /* Valuetype header */
FE_EventHeader *ehval; /* Event header */
FE_ComponentHeader *chval; /* Component header */
@@ -9239,6 +9237,20 @@ tao_yyreduce:
{
// IDENTIFIER
idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen);
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+
+ Identifier id ((tao_yyvsp[(3) - (3)].strval));
+ ACE::strdelete ((tao_yyvsp[(3) - (3)].strval));
+ (tao_yyvsp[(3) - (3)].strval) = 0;
+
+ UTL_ScopedName sn (&id, 0);
+ AST_PortType *p =
+ idl_global->gen ()->create_porttype (&sn);
+
+ (void) s->fe_add_porttype (p);
+
+ // Push it on the scopes stack.
+ idl_global->scopes ().push (p);
}
break;