On Wed, 2017-11-15 at 12:06 -0500, David Malcolm wrote: > On Wed, 2017-11-15 at 08:03 -0500, Nathan Sidwell wrote: > > g++.dg/lambda/lambda-switch.C Has recently regressed. > > g++.dg/cpp0x/lambda/lambda-switch.C > > > It appears the > > location of a warning message has moved. > > > > l = []() // { dg-warning "statement will never > > be executed" } > > { > > case 3: // { dg-error "case" } > > break; // { dg-error "break" } > > }; <--- warning now here > > > > We seem to be diagnosing the last line of the statement, not the > > first. > > That seems not a useful. > > > > I've not investigated what patch may have caused this, on the > > chance > > someone might already know? > > > > nathan > > The warning was added in r236597 (aka > 1398da0f786e120bb0b407e84f412aa9fc6d80ee): > > +2016-05-23 Marek Polacek <pola...@redhat.com> > + > + PR c/49859 > + * common.opt (Wswitch-unreachable): New option. > + * doc/invoke.texi: Document -Wswitch-unreachable. > + * gimplify.c (gimplify_switch_expr): Implement the -Wswitch- > unreachable > + warning. > > which had it at there (23:7). > > r244705 (aka 3ef7eab185e1463c7dbfa2a8d1af5d0120cf9f76) moved the > warning from 23:7 up to the "[] ()" at 19:6 in: > > +2017-01-20 Marek Polacek <pola...@redhat.com> > + > + PR c/64279 > [...snip...] > + * g++.dg/cpp0x/lambda/lambda-switch.C: Move dg-warning. > > I tried it with some working copies I have to hand: > - works for me with r254387 (2017-11-03) > - fails for me with r254700 (2017-11-13) > > so hopefully that helps track it down. > > Dave
Searching in the November archives of the gcc-regression ML for "lambda-switch.c": https://gcc.gnu.org/cgi-bin/search.cgi?wm=wrd&form=extended&m=all&s=D&q=lambda-switch.c&ul=%2Fml%2Fgcc-regression%2F2017-11%2F%25 showed e.g.: https://gcc.gnu.org/ml/gcc-regression/2017-11/msg00173.html "Regressions on trunk at revision 254648 vs revision 254623" which says this is a new failure somewhere in that range; so it presumably happened sometime on 2017-11-10 after r254623 and up to (maybe ==) r254648. Looking at: svn log -r r254623:r254648 |less nothing jumps out at me as being related. Hope this is helpful Dave