https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109146

--- Comment #2 from David Spickett <david.spickett at linaro dot org> ---
A detail that might be useful. The callee function uses UB because it compares
pointers that don't point to the same object.

https://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf 6.5.8 Relational
operators, if we follow item 6, I think we end up at "In all other cases, the
behavior is undefined.".

So if codegen changes for the tail call you may need to double check that the
UB is still doing the same as before.

(it being UB at all seems fine, I don't know how else you'd check the address
of stack frames)

Reply via email to