Commit ea8daa3b by Richard Stallman

(initdcl, notype_initdcl): Call push_momentary and pop_momentary here.

(init): Not here.

From-SVN: r5679
parent 1417141f
...@@ -1019,12 +1019,16 @@ maybeasm: ...@@ -1019,12 +1019,16 @@ maybeasm:
initdcl: initdcl:
declarator maybeasm maybe_attribute '=' declarator maybeasm maybe_attribute '='
{ $<ttype>$ = start_decl ($1, current_declspecs, 1); { $<ttype>$ = start_decl ($1, current_declspecs, 1);
start_init ($<ttype>$, $2, global_bindings_p ()); } start_init ($<ttype>$, $2, global_bindings_p ());
/* Note that the call to clear_momentary
is in process_init_element. */
push_momentary (); }
init init
/* Note how the declaration of the variable is in effect while its init is parsed! */ /* Note how the declaration of the variable is in effect while its init is parsed! */
{ finish_init (); { finish_init ();
decl_attributes ($<ttype>5, $3); decl_attributes ($<ttype>5, $3);
finish_decl ($<ttype>5, $6, $2); } finish_decl ($<ttype>5, $6, $2);
pop_momentary (); }
| declarator maybeasm maybe_attribute | declarator maybeasm maybe_attribute
{ tree d = start_decl ($1, current_declspecs, 0); { tree d = start_decl ($1, current_declspecs, 0);
decl_attributes (d, $3); decl_attributes (d, $3);
...@@ -1034,12 +1038,17 @@ initdcl: ...@@ -1034,12 +1038,17 @@ initdcl:
notype_initdcl: notype_initdcl:
notype_declarator maybeasm maybe_attribute '=' notype_declarator maybeasm maybe_attribute '='
{ $<ttype>$ = start_decl ($1, current_declspecs, 1); { $<ttype>$ = start_decl ($1, current_declspecs, 1);
start_init ($<ttype>$, $2, global_bindings_p ()); } start_init ($<ttype>$, $2, global_bindings_p ());
/* Note that the call to clear_momentary
is in process_init_element. */
push_momentary (); }
init init
/* Note how the declaration of the variable is in effect while its init is parsed! */ /* Note how the declaration of the variable is in effect while its init is parsed! */
{ finish_init (); { finish_init ();
decl_attributes ($<ttype>5, $3); decl_attributes ($<ttype>5, $3);
finish_decl ($<ttype>5, $6, $2); } finish_decl ($<ttype>5, $6, $2);
pop_momentary (); }
| notype_declarator maybeasm maybe_attribute | notype_declarator maybeasm maybe_attribute
{ tree d = start_decl ($1, current_declspecs, 0); { tree d = start_decl ($1, current_declspecs, 0);
decl_attributes (d, $3); decl_attributes (d, $3);
...@@ -1113,17 +1122,11 @@ attrib ...@@ -1113,17 +1122,11 @@ attrib
init: init:
expr_no_commas expr_no_commas
| '{' | '{'
{ really_start_incremental_init (NULL_TREE); { really_start_incremental_init (NULL_TREE); }
/* Note that the call to clear_momentary
is in process_init_element. */
push_momentary (); }
initlist_maybe_comma '}' initlist_maybe_comma '}'
{ $$ = pop_init_level (0); { $$ = pop_init_level (0); }
pop_momentary (); }
| error | error
{ $$ = error_mark_node; { $$ = error_mark_node; }
pop_momentary (); }
; ;
/* `initlist_maybe_comma' is the guts of an initializer in braces. */ /* `initlist_maybe_comma' is the guts of an initializer in braces. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment