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