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