From 296580b640a8161ae25037b01cc4f8e45bc73a30 Mon Sep 17 00:00:00 2001 From: Marek Polacek Date: Sat, 21 Sep 2019 13:59:29 +0000 Subject: [PATCH] DR 2345 - Jumping across initializers in init-statements and conditions. * g++.dg/cpp1z/init-statement10.C: New test. From-SVN: r276019 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/cpp1z/init-statement10.C | 14 ++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 gcc/testsuite/g++.dg/cpp1z/init-statement10.C diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d0c01e3138b..36e0b2b9601 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2019-09-21 Marek Polacek + + DR 2345 - Jumping across initializers in init-statements and conditions. + * g++.dg/cpp1z/init-statement10.C: New test. + 2019-09-21 Richard Sandiford * gcc.target/aarch64/sve/cond_convert_1.c: Remove XFAILs. diff --git a/gcc/testsuite/g++.dg/cpp1z/init-statement10.C b/gcc/testsuite/g++.dg/cpp1z/init-statement10.C new file mode 100644 index 00000000000..d13d135dab1 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp1z/init-statement10.C @@ -0,0 +1,14 @@ +// DR 2345 - Jumping across initializers in init-statements and conditions. +// { dg-do compile { target c++17 } } + +int +fn () +{ + goto X; + if (int i = 42; i == 42) + { +X: // { dg-error "jump to label" } + return i; + } + return -1; +} -- 2.30.2