[Bug c++/77886] -Wimplicit-fallthrough: breaks duff's device (in function templates)

2016-10-31 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77886 --- Comment #13 from Jakub Jelinek --- Author: jakub Date: Mon Oct 31 17:10:30 2016 New Revision: 241711 URL: https://gcc.gnu.org/viewcvs?rev=241711&root=gcc&view=rev Log: PR c++/77886 * pt.c (tsubst_expr) Copy over FALL

[Bug c++/77886] -Wimplicit-fallthrough: breaks duff's device (in function templates)

2016-10-31 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77886 Jakub Jelinek changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug c++/77886] -Wimplicit-fallthrough: breaks duff's device (in function templates)

2016-10-31 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77886 --- Comment #11 from Jakub Jelinek --- Author: jakub Date: Mon Oct 31 13:39:49 2016 New Revision: 241700 URL: https://gcc.gnu.org/viewcvs?rev=241700&root=gcc&view=rev Log: PR c++/77886 * pt.c (tsubst_expr) Copy over FALL

[Bug c++/77886] -Wimplicit-fallthrough: breaks duff's device (in function templates)

2016-10-07 Thread marc.mutz at kdab dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77886 --- Comment #10 from Marc Mutz --- I can confirm patch fixes my Qt build, ie. not just bug.cpp. Thanks!

[Bug c++/77886] -Wimplicit-fallthrough: breaks duff's device (in function templates)

2016-10-07 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77886 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed|

[Bug c++/77886] -Wimplicit-fallthrough: breaks duff's device (in function templates)

2016-10-07 Thread marc.mutz at kdab dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77886 --- Comment #8 from Marc Mutz --- #c3 is also in a template, indeed.

[Bug c++/77886] -Wimplicit-fallthrough: breaks duff's device (in function templates)

2016-10-07 Thread marc.mutz at kdab dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77886 --- Comment #7 from Marc Mutz --- Version: $ g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/d/gcc/trunk/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc/configur

[Bug c/77886] -Wimplicit-fallthrough: breaks duff's device

2016-10-07 Thread marc.mutz at kdab dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77886 --- Comment #6 from Marc Mutz --- Created attachment 39770 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39770&action=edit Test case Result: $ g++ -Wextra -std=c++1z -O2 bug.cpp bug.cpp: In function ‘void qt_memfill(T*, T, int) [with

[Bug c/77886] -Wimplicit-fallthrough: breaks duff's device

2016-10-07 Thread marc.mutz at kdab dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77886 --- Comment #5 from Marc Mutz --- It's in a function template, in case that helps. I'll try to trim it down now.

[Bug c/77886] -Wimplicit-fallthrough: breaks duff's device

2016-10-07 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77886 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #4

[Bug c/77886] -Wimplicit-fallthrough: breaks duff's device

2016-10-06 Thread marc.mutz at kdab dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77886 --- Comment #3 from Marc Mutz --- Here's another example of a switch where I can't silence the warning, except by C++11 attribute: switch (i & 7) { case 7: blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[

[Bug c/77886] -Wimplicit-fallthrough: breaks duff's device

2016-10-06 Thread marc.mutz at kdab dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77886 --- Comment #2 from Marc Mutz --- It's worse than I thought: int n = (count + 7) / 8; switch (count & 0x07) { case 0: do { *dest++ = value; // fall through case 7: *dest++ = value; // fall through cas

[Bug c/77886] -Wimplicit-fallthrough: breaks duff's device

2016-10-06 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77886 Marek Polacek changed: What|Removed |Added CC||mpolacek at gcc dot gnu.org --- Comment