r254964 - in /trunk/gcc: cp/ChangeLog cp/name-l...

jakub@gcc.gnu.org jakub@gcc.gnu.org
Mon Nov 20 18:58:00 GMT 2017


Author: jakub
Date: Mon Nov 20 18:58:01 2017
New Revision: 254964

URL: https://gcc.gnu.org/viewcvs?rev=254964&root=gcc&view=rev
Log:
	P0329R4: Designated Initialization
	* parser.c (cp_parser_initializer_clause): List in comment grammar
	designated-initializer-list.
	(cp_parser_initializer_list): Allow .identifier = without pedwarn for
	C++2A, parse .identifier { ... }.  Improve location_t argument to
	pedwarn.  Add pedwarn for [cst] = designators.  Diagnose ... in
	designated initializer list.  Diagnose mixing designated and
	non-designated initializer clauses for C++2A.  Diagnose duplicated
	identifiers in designators.
	* name-lookup.h (search_anon_aggr): New declaration.
	* name-lookup.c (fields_linear_search): Use search_anon_aggr.
	(search_anon_aggr): New function.
	* typeck2.c (process_init_constructor_record): Allow designator
	to skip over some non-static data members.  Handle anonymous
	aggregates.  Add diagnostics for designator order not matching
	member declaration order.

	* g++.dg/ext/desig2.C: Adjust comment, no sorry about designator
	refering to second member.
	(b): New variable and associated expected diagnostic.
	* g++.dg/ext/desig4.C: For C++2A expect diagnostics.
	* g++.dg/ext/desig5.C: Add dg-do dg-compile and empty dg-options.
	* g++.dg/ext/desig8.C: Likewise.
	* g++.dg/ext/desig9.C: New test.
	* g++.dg/ext/pr27019.C: Don't expect any diagnostics.
	* g++.dg/init/error2.C: Adjust expected diagnostics.
	* g++.dg/cpp0x/desig1.C: Add dg-options with -pedantic, expect
	warning on C99 designators.
	* g++.dg/cpp2a/desig1.C: New test.
	* g++.dg/cpp2a/desig2.C: New test.
	* g++.dg/cpp2a/desig3.C: New test.
	* g++.dg/cpp2a/desig4.C: New test.
	* g++.dg/cpp2a/desig5.C: New test.
	* g++.dg/cpp2a/desig6.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/cpp2a/desig1.C
    trunk/gcc/testsuite/g++.dg/cpp2a/desig2.C
    trunk/gcc/testsuite/g++.dg/cpp2a/desig3.C
    trunk/gcc/testsuite/g++.dg/cpp2a/desig4.C
    trunk/gcc/testsuite/g++.dg/cpp2a/desig5.C
    trunk/gcc/testsuite/g++.dg/cpp2a/desig6.C
    trunk/gcc/testsuite/g++.dg/ext/desig9.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/name-lookup.c
    trunk/gcc/cp/name-lookup.h
    trunk/gcc/cp/parser.c
    trunk/gcc/cp/typeck2.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/cpp0x/desig1.C
    trunk/gcc/testsuite/g++.dg/ext/desig2.C
    trunk/gcc/testsuite/g++.dg/ext/desig4.C
    trunk/gcc/testsuite/g++.dg/ext/desig5.C
    trunk/gcc/testsuite/g++.dg/ext/desig8.C
    trunk/gcc/testsuite/g++.dg/ext/pr27019.C
    trunk/gcc/testsuite/g++.dg/init/error2.C



More information about the Gcc-cvs mailing list