cp-tree.h (DECL_PARM_LEVEL): New.
authorJason Merrill <jason@redhat.com>
Thu, 24 Feb 2011 04:56:26 +0000 (23:56 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Thu, 24 Feb 2011 04:56:26 +0000 (23:56 -0500)
commit67e18edbc6fcddeb11629224e53629bdb59c7ed1
treed6fdd251fa53f073e7a55645ed002529e562a279
parent5a30f819c7f84dcee4987b96d7e9d8ea0177fe90
cp-tree.h (DECL_PARM_LEVEL): New.

* cp-tree.h (DECL_PARM_LEVEL): New.
(struct lang_decl_parm): Add level field.
* name-lookup.c (function_parm_depth): New fn.
* name-lookup.h: Declare it.
* parser.c (cp_parser_parameter_declaration_list): Use it.
* mangle.c (struct globals): Add parm_depth field.
(write_bare_function_type): Adjust it.
(write_expression): Include the level delta in PARM_DECL mangling
for abi >= 6.

* semantics.c (finish_decltype_type): Remove shortcut for decltype
of id-expression.
* mangle.c (write_type) [DECLTYPE_TYPE]: Strip it here for abi < 6.

From-SVN: r170459
15 files changed:
gcc/ChangeLog
gcc/common.opt
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/mangle.c
gcc/cp/name-lookup.c
gcc/cp/name-lookup.h
gcc/cp/parser.c
gcc/cp/semantics.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/abi/mangle39.C
gcc/testsuite/g++.dg/abi/mangle45.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/trailing1.C
gcc/testsuite/g++.dg/template/canon-type-12.C
gcc/testsuite/g++.dg/template/canon-type-9.C