https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120006
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org Ever confirmed|0 |1 Last reconfirmed| |2025-04-30 --- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> --- So here I think the issue is that there's a mismatch between alias and clobber/use constraint building where the former handles __builtin_strdup, not making its argument escape, but the latter does not, assuming it's good enough to use what escapes: c_4 = &HEAP(35) doubledereftmp(36) = *xstrdup.arg0 + UNKNOWN *c_4 + UNKNOWN = doubledereftmp(36) xstrdup.clobber = ESCAPED xstrdup.use = ESCAPED