https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80122
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2017-03-21 Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org Ever confirmed|0 |1 Known to fail| |4.6.4 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- With 4.4.7 it works at -O0 but fails at -O2. Starting with 4.5 it fails at -O0 as well. The issue is that we first inline send_msg_to_gm_w_dev_t into send_msg_to_gm where the magic doesn't work, and then we inline send_msg_to_gm. This is how early inlining works (inline from the leafs), this is best to catch optimizations but it doesn't work for __builtin_va_arg_pack () handling (well, we simply need to retain it instead of expansing it to nothing). Confirmed.