https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120833
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot gnu.org --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- There is a 3rd function which does not happen either: ``` struct S2 get_s2_3(const char* s, long n) { struct S1 x = get_s1(s, n); return __builtin_bit_cast (struct S2, x); } ``` (for C++ front-end, for portibility you would use std::bit_cast<struct S2>(x) instead). I will take a look at s2_2 and s2_3, they are easier; just need to prove that the structs are returned in a similar fashion.