re PR c++/63558 (cannot silence "jump to case label" with fpermissive)
authorPaolo Carlini <paolo.carlini@oracle.com>
Wed, 3 Dec 2014 18:41:42 +0000 (18:41 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Wed, 3 Dec 2014 18:41:42 +0000 (18:41 +0000)
commit61a1a73ecbc18c92bda1f240c8cd2ee4f5d2d6fe
tree0f43abdd4a85efb73ee8518ab988c4215371e910
parentc430f419e9d81e74193d92e26d7d4806dd74eaf6
re PR c++/63558 (cannot silence "jump to case label" with fpermissive)

/cp
2014-12-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/63558
* decl.c (identify_goto): Return a bool if diagnostic is emitted.
(check_previous_goto_1): Consistently emit permerror + inform.
(check_goto): Likewise.

/testsuite
2014-12-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/63558
* g++.dg/init/goto3.C: New.
* g++.dg/eh/goto2.C: Adjust.
* g++.dg/ext/vla14.C: Likewise.
* g++.dg/gomp/block-1.C: Likewise.
* g++.dg/gomp/block-2.C: Likewise.
* g++.dg/gomp/block-3.C: Likewise.
* g++.dg/gomp/block-5.C: Likewise.
* g++.dg/gomp/target-1.C: Likewise.
* g++.dg/gomp/target-2.C: Likewise.
* g++.dg/gomp/taskgroup-1.C: Likewise.
* g++.dg/gomp/teams-1.C: Likewise.
* g++.dg/init/goto2.C: Likewise.
* g++.dg/warn/pedantic1.C: Likewise.
* g++.old-deja/g++.jason/jump.C: Likewise.
* g++.old-deja/g++.law/arm6.C: Likewise.
* g++.old-deja/g++.other/goto1.C: Likewise.
* g++.old-deja/g++.other/goto3.C: Likewise.
* g++.old-deja/g++.other/init9.C: Likewise.

From-SVN: r218328
21 files changed:
gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/eh/goto2.C
gcc/testsuite/g++.dg/ext/vla14.C
gcc/testsuite/g++.dg/gomp/block-1.C
gcc/testsuite/g++.dg/gomp/block-2.C
gcc/testsuite/g++.dg/gomp/block-3.C
gcc/testsuite/g++.dg/gomp/block-5.C
gcc/testsuite/g++.dg/gomp/target-1.C
gcc/testsuite/g++.dg/gomp/target-2.C
gcc/testsuite/g++.dg/gomp/taskgroup-1.C
gcc/testsuite/g++.dg/gomp/teams-1.C
gcc/testsuite/g++.dg/init/goto2.C
gcc/testsuite/g++.dg/init/goto3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/pedantic1.C
gcc/testsuite/g++.old-deja/g++.jason/jump.C
gcc/testsuite/g++.old-deja/g++.law/arm6.C
gcc/testsuite/g++.old-deja/g++.other/goto1.C
gcc/testsuite/g++.old-deja/g++.other/goto3.C
gcc/testsuite/g++.old-deja/g++.other/init9.C