r173581 - in /trunk/gcc: ChangeLog cp/ChangeLog...
jason@gcc.gnu.org
jason@gcc.gnu.org
Mon May 9 17:34:00 GMT 2011
Author: jason
Date: Mon May 9 17:34:35 2011
New Revision: 173581
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=173581
Log:
Implement final/override for member functions.
gcc/
* tree.h (TYPE_UNQUALIFIED, TYPE_QUAL_CONST): Convert to enum.
(TYPE_QUAL_VOLATILE, TYPE_QUAL_RESTRICT): Likewise.
gcc/cp/
* class.c (check_for_override): Check for DECL_OVERRIDE_P.
* cp-tree.h (DECL_OVERRIDE_P, DECL_FINAL_P): New.
(cp_virt_specifiers, enum virt_specifier): New.
* decl.c (set_virt_specifiers): New.
(grokdeclarator): Use them. Diagnose virt-specifiers on non-fields.
* parser.c (make_call_declarator): add virt-specifiers parameter.
(cp_parser_lambda_declarator_opt): Adjust.
(cp_parser_direct_declarator): Likewise.
(cp_parser_virt_specifier_seq_opt): New.
* search.c (check_final_overrider): Diagnose attempts to override
a final member function.
Added:
trunk/gcc/testsuite/g++.dg/inherit/virtual9.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/search.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree.h
More information about the Gcc-cvs
mailing list