}
}
- /* The corresponding pop_obstacks is in finish_decl. */
+ /* The corresponding pop_obstacks is in cp_finish_decl. */
push_obstacks_nochange ();
if (TREE_CODE (value) == VAR_DECL)
{
/* We cannot call pushdecl here, because that would
fill in the value of our TREE_CHAIN. Instead, we
- modify finish_decl to do the right thing, namely, to
+ modify cp_finish_decl to do the right thing, namely, to
put this decl out straight away. */
if (TREE_PUBLIC (value))
{
DECL_INITIAL (value) = init;
DECL_IN_AGGR_P (value) = 1;
- finish_decl (value, init, asmspec_tree, 1, flags);
+ cp_finish_decl (value, init, asmspec_tree, 1, flags);
pushdecl_class_level (value);
return value;
}
}
if (DECL_INITIAL (value) == error_mark_node)
init = error_mark_node;
- finish_decl (value, init, asmspec_tree, 1, flags);
+ cp_finish_decl (value, init, asmspec_tree, 1, flags);
DECL_INITIAL (value) = init;
DECL_IN_AGGR_P (value) = 1;
return value;
DECL_RTL (value) = NULL_RTX;
DECL_ASSEMBLER_NAME (value) = get_identifier (asmspec);
}
- finish_decl (value, init, asmspec_tree, 1, flags);
+ cp_finish_decl (value, init, asmspec_tree, 1, flags);
/* Pass friends back this way. */
if (DECL_FRIEND_P (value))
cp_error ("static member `%D' cannot be a bitfield", value);
return NULL_TREE;
}
- finish_decl (value, NULL_TREE, NULL_TREE, 0, 0);
+ cp_finish_decl (value, NULL_TREE, NULL_TREE, 0, 0);
if (width != error_mark_node)
{
return void_type_node;
}
- finish_decl (decl, NULL_TREE, NULL_TREE, 0, 0);
+ cp_finish_decl (decl, NULL_TREE, NULL_TREE, 0, 0);
/* If this declaration is common to another declaration
complain about such redundancy, and return NULL_TREE
DECL_INITIAL (empty_table) = init;
asmspec = build_string (IDENTIFIER_LENGTH (DECL_NAME (empty_table)),
IDENTIFIER_POINTER (DECL_NAME (empty_table)));
- finish_decl (empty_table, NULL_TREE, asmspec, 0, 0);
+ cp_finish_decl (empty_table, NULL_TREE, asmspec, 0, 0);
}
is_empty = 1;
}
IDENTIFIER_POINTER (DECL_NAME (empty_table)));
}
- finish_decl (decl, NULL_TREE, asmspec, 0, 0);
+ cp_finish_decl (decl, NULL_TREE, asmspec, 0, 0);
return decl;
}
/* YACC parser for C++ syntax.
- Copyright (C) 1988, 1989, 1993 Free Software Foundation, Inc.
+ Copyright (C) 1988, 1989, 1993, 1995 Free Software Foundation, Inc.
Hacked by Michael Tiemann (tiemann@cygnus.com)
This file is part of GNU CC.
d = start_decl ($<ttype>2, /*current_declspecs*/NULL_TREE, 0,
$3);
cplus_decl_attributes (d, $5, prefix_attributes);
- finish_decl (d, NULL_TREE, $4, 0, 0);
+ cp_finish_decl (d, NULL_TREE, $4, 0, 0);
end_template_decl ($1, d, 0, def);
if (def)
reinit_parse_for_template ((int) $6, $1, d);
d = start_decl ($<ttype>3, current_declspecs,
0, $<ttype>4);
cplus_decl_attributes (d, $6, prefix_attributes);
- finish_decl (d, NULL_TREE, $5, 0, 0);
+ cp_finish_decl (d, NULL_TREE, $5, 0, 0);
end_template_decl ($1, d, 0, def);
if (def)
{
{
int def = ($4 != ';');
tree d = start_decl ($<ttype>3, $<ttype>2, 0, NULL_TREE);
- finish_decl (d, NULL_TREE, NULL_TREE, 0, 0);
+ cp_finish_decl (d, NULL_TREE, NULL_TREE, 0, 0);
end_template_decl ($1, d, 0, def);
if (def)
reinit_parse_for_template ((int) $4, $1, d);
| declmods notype_declarator ';'
{ tree d;
d = start_decl ($<ttype>2, $<ttype>$, 0, NULL_TREE);
- finish_decl (d, NULL_TREE, NULL_TREE, 0, 0);
+ cp_finish_decl (d, NULL_TREE, NULL_TREE, 0, 0);
}
| typed_declspecs initdecls ';'
{
| typed_declspecs declarator ';'
{ tree d;
d = start_decl ($<ttype>2, $<ttype>$, 0, NULL_TREE);
- finish_decl (d, NULL_TREE, NULL_TREE, 0, 0);
+ cp_finish_decl (d, NULL_TREE, NULL_TREE, 0, 0);
note_list_got_semicolon ($<ttype>$);
}
| declmods ';'
}
init
{
- finish_decl ($<ttype>7, $8, $5, 0, LOOKUP_ONLYCONVERTING);
+ cp_finish_decl ($<ttype>7, $8, $5, 0, LOOKUP_ONLYCONVERTING);
resume_momentary ($<itype>6);
$$ = $<ttype>7;
if (TREE_CODE (TREE_TYPE ($$)) == ARRAY_TYPE)
{ tree d = get_decl_list ($1);
int yes = suspend_momentary ();
d = start_decl ($2, d, 0, NULL_TREE);
- finish_decl (d, NULL_TREE, NULL_TREE, 0, 0);
+ cp_finish_decl (d, NULL_TREE, NULL_TREE, 0, 0);
resume_momentary (yes);
if (IS_AGGR_TYPE_CODE (TREE_CODE ($1)))
note_got_semicolon ($1);
{ tree d = $1;
int yes = suspend_momentary ();
d = start_decl ($2, d, 0, NULL_TREE);
- finish_decl (d, NULL_TREE, NULL_TREE, 0, 0);
+ cp_finish_decl (d, NULL_TREE, NULL_TREE, 0, 0);
resume_momentary (yes);
note_list_got_semicolon ($1);
}
cplus_decl_attributes ($<ttype>$, $4, prefix_attributes); }
init
/* Note how the declaration of the variable is in effect while its init is parsed! */
- { finish_decl ($<ttype>6, $7, $3, 0, LOOKUP_ONLYCONVERTING);
+ { cp_finish_decl ($<ttype>6, $7, $3, 0, LOOKUP_ONLYCONVERTING);
$$ = $<itype>5; }
| declarator exception_specification_opt maybeasm maybe_attribute
{ tree d;
$$ = suspend_momentary ();
d = start_decl ($<ttype>1, current_declspecs, 0, $2);
cplus_decl_attributes (d, $4, prefix_attributes);
- finish_decl (d, NULL_TREE, $3, 0, 0); }
+ cp_finish_decl (d, NULL_TREE, $3, 0, 0); }
;
initdcl:
cplus_decl_attributes ($<ttype>$, $4, prefix_attributes); }
init
/* Note how the declaration of the variable is in effect while its init is parsed! */
- { finish_decl ($<ttype>6, $7, $3, 0, LOOKUP_ONLYCONVERTING); }
+ { cp_finish_decl ($<ttype>6, $7, $3, 0, LOOKUP_ONLYCONVERTING); }
| declarator exception_specification_opt maybeasm maybe_attribute
{ $<ttype>$ = start_decl ($<ttype>1, current_declspecs, 0, $2);
cplus_decl_attributes ($<ttype>$, $4, prefix_attributes);
- finish_decl ($<ttype>$, NULL_TREE, $3, 0, 0); }
+ cp_finish_decl ($<ttype>$, NULL_TREE, $3, 0, 0); }
;
notype_initdcl0:
cplus_decl_attributes ($<ttype>$, $4, prefix_attributes); }
init
/* Note how the declaration of the variable is in effect while its init is parsed! */
- { finish_decl ($<ttype>6, $7, $3, 0, LOOKUP_ONLYCONVERTING);
+ { cp_finish_decl ($<ttype>6, $7, $3, 0, LOOKUP_ONLYCONVERTING);
$$ = $<itype>5; }
| notype_declarator exception_specification_opt maybeasm maybe_attribute
{ tree d;
$$ = suspend_momentary ();
d = start_decl ($<ttype>1, current_declspecs, 0, $2);
cplus_decl_attributes (d, $4, prefix_attributes);
- finish_decl (d, NULL_TREE, $3, 0, 0); }
+ cp_finish_decl (d, NULL_TREE, $3, 0, 0); }
;
nomods_initdcl0:
cplus_decl_attributes ($<ttype>$, $4, prefix_attributes); }
init
/* Note how the declaration of the variable is in effect while its init is parsed! */
- { finish_decl ($<ttype>6, $7, $3, 0, LOOKUP_ONLYCONVERTING);
+ { cp_finish_decl ($<ttype>6, $7, $3, 0, LOOKUP_ONLYCONVERTING);
$$ = $<itype>5; }
| notype_declarator exception_specification_opt maybeasm maybe_attribute
{ tree d;
$$ = suspend_momentary ();
d = start_decl ($1, current_declspecs, 0, $2);
cplus_decl_attributes (d, $4, prefix_attributes);
- finish_decl (d, NULL_TREE, $3, 0, 0); }
+ cp_finish_decl (d, NULL_TREE, $3, 0, 0); }
;
/* the * rules are dummies to accept the Apollo extended syntax