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