On Wed, Jul 13, 2016 at 09:05:26PM +0200, Marc Glisse wrote: > > > Unrelated question: are there cases where __builtin_fallthrough() has any > > > impact on code generation? > > > > It should not -- my implementation gets rid of all __builtin_fallthrough() > > during gimple-low, before most of the optimizations kick in, so it shouldn't > > make any real difference. > > "should", "most", "real"... This is a bit like compare-debug, as a user I > expect it to only affect warnings, and if it can affect code generation, > even in small ways, I would like the doc to tell me.
Dunno if this really proves anything, but I took dwarf2out.ii (it's huge), and compiled it with ./cc1plus -quiet -g -O2 and then with ./cc1plus -quiet -g -O2 -Wimplicit-fallthrough and compared the final .s files. The result is just this: $ diff -u dwarf2out-v.s dwarf2out.s --- dwarf2out-v.s 2016-08-12 16:37:11.479918482 +0200 +++ dwarf2out.s 2016-08-12 16:38:06.825929792 +0200 @@ -116459,6 +116459,7 @@ .LBB35755: .LBB35748: .LBB35742: + .loc 1 17164 0 jmp .L11208 .LVL13482: .p2align 4,,10 so it seems this warning really doesn't have any effect whatsoever on code generation. Marek