Jakub Jelinek 603be0224e P0683R1 - default member initializers for bit-fields
P0683R1 - default member initializers for bit-fields
cp/
	* cp-tree.h (grokbitfield): Add INIT parameter.
	* parser.c (cp_parser_constant_expression): Add STRICT_P argument,
	if true, parse a conditional-expression rather than
	assignment-expression.
	(cp_parser_member_declaration): For C++11 and later pass true
	as STRICT_P to cp_parser_constant_expression.  Parse C++2A bitfield
	NSDMIs.  Adjust grokbitfield caller.  Handle DECL_INITIAL also for
	DECL_C_BIT_FIELDs.
	(cp_parser_objc_class_ivars): Adjust grokbitfield caller.
	* class.c (check_field_decl): Recurse even for DECL_C_BIT_FIELDs.
	(check_field_decls): Call check_field_decl even for DECL_C_BIT_FIELDs.
	* decl2.c (grokbitfield): Add INIT parameter, pass it to
	cp_finish_decl.
	* pt.c (tsubst_decl): Handle DECL_INITIAL for all FIELD_DECLs, not
	just non-bitfields.
testsuite/
	* g++.dg/ext/bitfield6.C: New test.
	* g++.dg/cpp2a/bitfield1.C: New test.
	* g++.dg/cpp2a/bitfield2.C: New test.
	* g++.dg/cpp2a/bitfield3.C: New test.

From-SVN: r253302
2017-09-29 19:53:50 +02:00
..
2017-08-08 04:46:51 +00:00
2017-08-30 11:13:13 +00:00
2017-09-28 15:39:32 -04:00
2017-08-11 08:14:54 +00:00
2017-08-29 16:17:02 -04:00