diff options
Diffstat (limited to 'TAO/TAO_IDL/ast/ast_union.cpp')
-rw-r--r-- | TAO/TAO_IDL/ast/ast_union.cpp | 10 |
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 = |