r179155 - in /trunk/gcc: cp/ChangeLog cp/call.c...
jason@gcc.gnu.org
jason@gcc.gnu.org
Sun Sep 25 02:25:00 GMT 2011
Author: jason
Date: Sun Sep 25 02:25:52 2011
New Revision: 179155
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179155
Log:
Implement C++11 non-static data member initializers.
* cp-tree.h (enum cpp_warn_str): Add CPP0X_NSDMI.
* error.c (maybe_warn_cpp0x): Handle it.
* call.c (convert_like_real) [ck_user]: Don't complain about
using an explicit constructor for direct-initialization.
* class.c (check_field_decl): Fix ancient typo.
(check_field_decls): NSDMIs make the default ctor non-trivial.
* decl.c (cp_finish_decl): Record NSDMI.
(grokdeclarator): Allow NSDMI.
* decl2.c (grokfield): Allow NSDMI. Correct LOOKUP flags.
* init.c (perform_member_init): Use NSDMI.
* method.c (walk_field_subobs): Check for NSDMI.
* parser.c (cp_parser_member_declaration): Parse { } init.
* semantics.c (register_constexpr_fundef): Don't talk about
a return statement in a constexpr constructor.
(cxx_eval_call_expression): Check DECL_INITIAL instead of
DECL_SAVED_TREE.
Added:
trunk/gcc/testsuite/g++.dg/cpp0x/nsdmi1.C
trunk/gcc/testsuite/g++.dg/cpp0x/nsdmi2.C
trunk/gcc/testsuite/g++.dg/cpp0x/nsdmi3.C
trunk/gcc/testsuite/g++.dg/cpp0x/nsdmi4.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/decl2.c
trunk/gcc/cp/error.c
trunk/gcc/cp/init.c
trunk/gcc/cp/method.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/semantics.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.old-deja/g++.other/init4.C
More information about the Gcc-cvs
mailing list