Implement final on class.
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 14 May 2011 18:13:23 +0000 (18:13 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 14 May 2011 18:13:23 +0000 (18:13 +0000)
commit6a8b7c0d1e017a03099b411db11911e196f143d3
tree6e71c4f8224656772ee33335e93d1fb8eb7d983e
parent99d7b5ba9d5c2595a49124a332b373f3dfcb8052
Implement final on class.
* class.c (check_bases): Diagnose derivation from a final class.
* cp-tree.h (lang_type_class): Add is_final and adjust dummy.
(CLASSTYPE_FINAL): New.
* parser.c (cp_parser_class_head): Parse class-virt-specifier, set
CLASSTYPE_FINAL.
* pt.c (instantiate_class_template_1): Copy CLASSTYPE_FINAL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173761 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/parser.c
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/override1.C [moved from gcc/testsuite/g++.dg/inherit/virtual9.C with 100% similarity]
gcc/testsuite/g++.dg/cpp0x/override2.C [new file with mode: 0644]