Hi Jakub, On 1/23/23 17:37, Jakub Jelinek wrote:
Please see transparent_union documentation in GCC documentation. E.g. https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Common-Type-Attributes.html#index-transparent_005funion-type-attribute transparent_union doesn't change anything regarding type punning, it is solely about function arguments, how arguments of that type are passed (as first union member) and that no casts to the union are needed from the member types.
Yep, when I wrote that I didn't fully understand it. Now I got it. I'll prepare some better suggestion about a fix.
Thanks.
And, with LTO TU boundaries are lost, inlining or other IPA optimizations (including say modref) work in between TUs.
Yeah, that's why we need a fix. Compilers will only get better at optimizing, so UB will sooner or later be a problem.
Cheers, Alex -- <http://www.alejandro-colomar.es/>
OpenPGP_signature
Description: OpenPGP digital signature