https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105537
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |marxin at gcc dot gnu.org --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- So it's _another_ case where we have debug stmts but don't expect them. Again, -fvar-tracking-assignments seems to enable that despite no debug info. (gdb) p global_options_set.x_flag_var_tracking_assignments $1 = 1 (gdb) p global_options.x_flag_var_tracking_assignments $2 = 0 when we create the debug bind it's (gdb) p global_options.x_flag_var_tracking_assignments $1 = -1 so that's likely the if (flag_var_tracking_assignments && !flag_var_tracking) flag_var_tracking = flag_var_tracking_assignments = -1; part of finish_options I wondered about when fixing PR105461, but we also have before that if (!opts_set->x_flag_var_tracking_assignments) flag_var_tracking_assignments = (flag_var_tracking && !(flag_selective_scheduling || flag_selective_scheduling2)); so we keep the flag as set but then reset things to -1. it looks like more failure to use opts->