On Mon, Jul 3, 2017 at 3:59 PM, Jakub Jelinek <ja...@redhat.com> wrote: > On Mon, Jul 03, 2017 at 03:50:06PM -0400, Jason Merrill wrote: >> On Mon, Jul 3, 2017 at 12:02 PM, Jakub Jelinek <ja...@redhat.com> wrote: >> > So like this? >> >> Looks good, except... >> >> > case sc_auto: >> > - error_at (loc, "decomposition declaration cannot be declared " >> > + error_at (loc, "structured binding declaration cannot be " >> > "C++98 %<auto%>"); >> > break; >> > default: >> >> This case should just fall into the default gcc_unreachable, we aren't >> going to get C++98 auto in C++17 mode. > > We actually support structured bindings (with a pedwarn that they are only > available in -std=c++1z) in older std modes (of course, it doesn't make > much sense in -std=c++98, because you always get either the above error > or error that the type of the structured binding is not appropriate; but > for -std=gnu++11 and above it works well). > If I remove the above error_at and fall through into gcc_unreachable, > we'll ICE.
Ah, OK. Jason