https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116216
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization Status|UNCONFIRMED |NEW Last reconfirmed| |2025-01-24 Ever confirmed|0 |1 --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. We have a pointer compare like if (_16 == 1B) ... and constant propagated that into _6 = strcmp (1B, &excl_name); see also cc1plus: note: source object is likely at address zero I have no idea why exactly we end up with <>::begin (&attributes) == 1B, likely this is a case of a failed non-NULL of &x->b (IIRC this came up repeatedly, a patch from me didn't get enough feedback).