diff options
author | Jason Merrill <jason@redhat.com> | 2008-09-08 16:52:44 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2008-09-08 16:52:44 -0400 |
commit | b344d949d25164341ca4532ce067af1b254198a0 (patch) | |
tree | 0142184b1cea337fc342e6818257e4f6cb77fa58 /gcc/fold-const.c | |
parent | 37022b7c72c96135c90798684598f39fd1371b40 (diff) | |
download | gcc-b344d949d25164341ca4532ce067af1b254198a0.zip gcc-b344d949d25164341ca4532ce067af1b254198a0.tar.gz gcc-b344d949d25164341ca4532ce067af1b254198a0.tar.bz2 |
re PR c++/37302 (function parameters are declared too late)
PR c++/37302
* parser.c (cp_parser_parameter_declaration_list): Process the
PARM_DECLs as we go and push them. Return a TREE_LIST.
(cp_parser_parameter_declaration_clause): Return a TREE_LIST.
(cp_parser_direct_declarator): Create a binding level and
suppress deprecated warnings in the parameter list.
(make_call_declarator): PARMS is now a tree.
* cp-tree.h (struct cp_declarator): Function parms are now a tree.
* decl.h (enum deprecated_states, deprecated_state): Move here.
* decl.c: From here.
(type_is_deprecated): New fn.
(grokparms): PARMLIST is a tree now. Warn about parms that
use deprecated types.
* mangle.c (write_expression): Handle PARM_DECL, CALL_EXPR and
0-operand cast.
* pt.c (tsubst) [DECLTYPE_TYPE]: Set skip_evaluation.
(tsubst_copy) [PARM_DECL]: Handle a PARM_DECL used outside of a
function.
* name-lookup.c (pushtag): Look through function parameter scopes.
(pushdecl_maybe_friend): Don't set DECL_CONTEXT on a PARM_DECL
when we're parsing a function declarator.
From-SVN: r140120
Diffstat (limited to 'gcc/fold-const.c')
0 files changed, 0 insertions, 0 deletions