https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108384
--- Comment #8 from David Binderman <dcb314 at hotmail dot com> --- (In reply to David Binderman from comment #4) > I suspect a grep pattern could help guide the reduction. > I tried a few patterns, but didn't make any real progress. Using this pattern: $ grep "func_23[^,]*,[^)]*)" bug873.c I got the following reduced code: struct S0 { int f0; short f1; unsigned f2 : 7; short f3 } func_2_l_27; g_389; func_23(struct S0 p_24, struct S0 p_25) { int *l_1051 = g_389; if (safe_sub_func_int16_t_s_s()) for (;;) safe_lshift_func_uint8_t_u_s(p_24.f1); *l_1051 = p_25.f0; } func_2() { struct S0 l_26[] = {4, 5, 4, 6, 4, 5, 4, 6}; func_23(l_26[1], func_2_l_27); } $ fgrep func_23 bug873.c func_23(struct S0 p_24, struct S0 p_25) { func_23(l_26[1], func_2_l_27); $