https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63804
--- Comment #5 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- Please ignore comment 4. Testcase without implicit functions: markus@x4 tmp % cat bug169.c struct brw_context { int gen; } e; int a, d; long b; enum brw_reg_type { BRW_REGISTER_TYPE_Q }; struct brw_reg { enum brw_reg_type type : 1; int nr : 1; struct { unsigned ud; } dw1; }; enum brw_reg_type c; void fn1 (int p1) { b = p1 & a; } int fn2 (); void fn3 (); void fn4 (struct brw_reg p1, unsigned p2, int p3) { struct brw_reg f, g, h, j = p1, l, m = l; struct brw_context i = e; if (i.gen) p2 = 0; j.type = c; g = j; p1 = g; fn3 (); int k = p2, v = p1.nr, p = v; m.dw1.ud = k; f = m; h = f; struct brw_reg n = h; fn3 (n); { d = fn2 (); int o = d; fn1 (o); } if (i.gen) fn3 (p1); b = p & a; fn3 (p3); }