This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r240638 - in /trunk/gcc: c-family/ChangeLog c-f...


Author: jakub
Date: Thu Sep 29 20:54:56 2016
New Revision: 240638

URL: https://gcc.gnu.org/viewcvs?rev=240638&root=gcc&view=rev
Log:
	Implement P0001R1 - C++17 removal of register storage class specifier
c-family/
	* c.opt (Wregister): New warning.
	* c-opts.c (c_common_post_options): Enable -Wregister by
	default for C++17.
cp/
	* decl.c (cp_finish_decl): Diagnose register storage class
	on vars except when used in GNU global or local register variable
	extension.
	(grokdeclarator): Diagnose register storage class on parameters.
	* except.c (expand_start_catch_block): Set DECL_REGISTER only
	after cp_finish_decl call.
testsuite/
	* c-c++-common/Wvarargs-2.c (foo1): Except new warning for C++17.
	* c-c++-common/vector-subscript-2.c (vf): Expect new error for
	C++17.
	* c-c++-common/vector-subscript-5.c (foo): Don't use register
	keyword if not __SSE2__.
	* c-c++-common/Wvarargs.c (foo1, foo3): Expect new warnings for
	C++17.
	* g++.dg/compat/struct-layout-1_generate.c (iterative_hash): Remove
	register keywords.
	* g++.dg/eh/pr29166.C: Add -Wno-register option.
	* g++.dg/warn/register-parm-1.C (erroneous_warning,
	no_erroneous_warning): Expect new warnings for C++17.
	* g++.dg/warn/register-var-2.C (f): Likewise.
	* g++.dg/parse/register1.C (f): Expect new error for C++17.
	* g++.dg/parse/linkage2.C (foo): Likewise.
	* g++.dg/torture/pr36826.C (CoinMin, CoinMax): Avoid register
	keyword on parameters for C++17.
	* g++.dg/cpp1z/register1.C: New test.
	* g++.dg/cpp1z/register2.C: New test.
	* g++.dg/cpp1z/register3.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/cpp1z/register1.C
    trunk/gcc/testsuite/g++.dg/cpp1z/register2.C
    trunk/gcc/testsuite/g++.dg/cpp1z/register3.C
Modified:
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-opts.c
    trunk/gcc/c-family/c.opt
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/decl.c
    trunk/gcc/cp/except.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/c-c++-common/Wvarargs-2.c
    trunk/gcc/testsuite/c-c++-common/Wvarargs.c
    trunk/gcc/testsuite/c-c++-common/vector-subscript-2.c
    trunk/gcc/testsuite/c-c++-common/vector-subscript-5.c
    trunk/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c
    trunk/gcc/testsuite/g++.dg/eh/pr29166.C
    trunk/gcc/testsuite/g++.dg/parse/linkage2.C
    trunk/gcc/testsuite/g++.dg/parse/register1.C
    trunk/gcc/testsuite/g++.dg/torture/pr36826.C
    trunk/gcc/testsuite/g++.dg/warn/register-parm-1.C
    trunk/gcc/testsuite/g++.dg/warn/register-var-2.C


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]