summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-11-04 05:26:14 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-11-04 05:26:14 +0000
commitb03f0e2fbf2d18e642de89c7c6e0154c76f88319 (patch)
treeda97f2f1b3d269cbabca8e50e0a459b67c78ea36
parentb6ec73b67acf57c0f44feedb5e73a525b6f2dbf9 (diff)
downloadATCD-b03f0e2fbf2d18e642de89c7c6e0154c76f88319.tar.gz
ChangeLogTag: Mon Nov 3 23:23:04 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/ChangeLog3
-rw-r--r--TAO/TAO_IDL/ast/ast_module.cpp4
-rw-r--r--TAO/TAO_IDL/fe/idl.yy1
-rw-r--r--TAO/TAO_IDL/fe/y.tab.cpp1
4 files changed, 6 insertions, 3 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index cf029612fad..c9a68d2fe99 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -5,7 +5,8 @@ Mon Nov 3 23:23:04 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/fe/y.tab.cpp:
Fixed bug in redefinition of forward declared union. Thanks to
- Tommy Persson <tpe@ida.liu.se> for reporting the problem.
+ Tommy Persson <tpe@ida.liu.se> for reporting the problem. This
+ closes [BUGID:1625].
Tue Nov 4 04:55:40 UTC 2003 Don Hinton <dhinton@dresystems.com>
diff --git a/TAO/TAO_IDL/ast/ast_module.cpp b/TAO/TAO_IDL/ast/ast_module.cpp
index 47626e3fc6b..2cb637826ce 100644
--- a/TAO/TAO_IDL/ast/ast_module.cpp
+++ b/TAO/TAO_IDL/ast/ast_module.cpp
@@ -1072,10 +1072,10 @@ AST_Module::fe_add_exception (AST_Exception *t)
AST_Union *
AST_Module::fe_add_union (AST_Union *t)
{
- AST_Decl *predef = 0;
AST_UnionFwd *fwd = 0;
+ AST_Decl *predef = this->lookup_for_add (t, I_FALSE);
- if ((predef = this->lookup_for_add (t, I_FALSE)) != 0)
+ if (predef != 0)
{
// Treat fwd declared interfaces specially
if (predef->node_type () == AST_Decl::NT_union_fwd)
diff --git a/TAO/TAO_IDL/fe/idl.yy b/TAO/TAO_IDL/fe/idl.yy
index 9fa582bf7c0..697bc357ff9 100644
--- a/TAO/TAO_IDL/fe/idl.yy
+++ b/TAO/TAO_IDL/fe/idl.yy
@@ -2436,6 +2436,7 @@ union_type
AST_Structure *st = AST_Structure::narrow_from_decl (u);
AST_Structure::fwd_redefinition_helper (st,
s);
+ u = AST_Union::narrow_from_decl (st);
(void) s->fe_add_union (u);
}
diff --git a/TAO/TAO_IDL/fe/y.tab.cpp b/TAO/TAO_IDL/fe/y.tab.cpp
index 249b3c241b3..9c50428838a 100644
--- a/TAO/TAO_IDL/fe/y.tab.cpp
+++ b/TAO/TAO_IDL/fe/y.tab.cpp
@@ -4437,6 +4437,7 @@ tao_yyreduce:
AST_Structure *st = AST_Structure::narrow_from_decl (u);
AST_Structure::fwd_redefinition_helper (st,
s);
+ u = AST_Union::narrow_from_decl (st);
(void) s->fe_add_union (u);
}