summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/fe/y.tab.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/fe/y.tab.cpp')
-rw-r--r--TAO/TAO_IDL/fe/y.tab.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/TAO/TAO_IDL/fe/y.tab.cpp b/TAO/TAO_IDL/fe/y.tab.cpp
index f953c3e2ccf..3e60bbade2e 100644
--- a/TAO/TAO_IDL/fe/y.tab.cpp
+++ b/TAO/TAO_IDL/fe/y.tab.cpp
@@ -49,6 +49,7 @@ int tao_yylex (void);
extern "C" int tao_yywrap (void);
extern char tao_yytext[];
extern int tao_yyleng;
+AST_Decl *tao_enum_constant_decl = 0;
#define TAO_YYDEBUG_LEXER_TEXT (tao_yytext[tao_yyleng] = '\0', tao_yytext)
/* Force the pretty debugging code to compile.*/
#define TAO_YYDEBUG 1
@@ -2034,11 +2035,8 @@ case 56:
idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen);
/*
- * Done with this value type - pop it off the scopes stack
+ * Done with this valuetype - pop it off the scopes stack
*/
- UTL_Scope* s = idl_global->scopes ().top ();
- AST_Interface* m = AST_Interface::narrow_from_scope (s);
- m->inherited_name_clash ();
idl_global->scopes ().pop ();
}
break;
@@ -2099,11 +2097,8 @@ case 60:
idl_global->set_parse_state (IDL_GlobalData::PS_ValueTypeQsSeen);
/*
- * Done with this interface - pop it off the scopes stack.
+ * Done with this valuetype - pop it off the scopes stack.
*/
- UTL_Scope* s = idl_global->scopes ().top ();
- AST_Interface* m = AST_Interface::narrow_from_scope (s);
- m->inherited_name_clash ();
idl_global->scopes ().pop ();
}
break;
@@ -2561,7 +2556,9 @@ case 116:
if (tao_yyvsp[0].exval != 0 && s != 0)
{
AST_Expression::AST_ExprValue *result =
- tao_yyvsp[0].exval->coerce (tao_yyvsp[-6].etval);
+ tao_yyvsp[0].exval->check_and_coerce (tao_yyvsp[-6].etval,
+ tao_enum_constant_decl);
+ tao_enum_constant_decl = 0;
if (result == 0)
{
@@ -2622,6 +2619,8 @@ case 125:
if (s != 0 && d != 0)
{
+ tao_enum_constant_decl = d;
+
/*
* Look through typedefs.
*/
@@ -3120,6 +3119,10 @@ case 174:
{
idl_global->err ()->lookup_error (tao_yyvsp[0].idlist);
}
+ else
+ {
+ d->last_referenced_as (tao_yyvsp[0].idlist);
+ }
tao_yyval.dcval = d;
}
@@ -5176,9 +5179,6 @@ case 379:
/*
* Done with this component - pop it off the scopes stack.
*/
- UTL_Scope* s = idl_global->scopes ().top ();
- AST_Interface* m = AST_Interface::narrow_from_scope (s);
- m->inherited_name_clash ();
idl_global->scopes ().pop ();
}
break;