summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/ast/ast_union.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/ast/ast_union.cpp')
-rw-r--r--TAO/TAO_IDL/ast/ast_union.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/TAO/TAO_IDL/ast/ast_union.cpp b/TAO/TAO_IDL/ast/ast_union.cpp
index 42f7c880dc6..305f584cb33 100644
--- a/TAO/TAO_IDL/ast/ast_union.cpp
+++ b/TAO/TAO_IDL/ast/ast_union.cpp
@@ -218,11 +218,13 @@ AST_Union::in_recursion (AST_Type *node)
AST_UnionBranch::narrow_from_decl (si->item ());
if (field == 0)
- // This will be an enum value or other legitimate non-field
- // member - in any case, no recursion.
{
- si->next ();
- continue;
+ delete si;
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("(%N:%l) AST_Union::")
+ ACE_TEXT ("in_recursion - ")
+ ACE_TEXT ("bad field node\n")),
+ 0);
}
AST_Type *type =