On Sat, 10 Jan 2026, Martin Uecker wrote: > c: fix checking ICE related to transparent unions and atomic [PR123309] > > When matching function arguments in composite_type_internal and one > type comes from a transparent union, it is possible to end up with > atomic and non-atomic types because this case is not handled correctly. > The type matching logic is rewritten in a cleaner way to use helper > functions and to not walk the argument lists three times. With this > change, a checking assertion can be added to test for matching qualifiers > for pointers. (In general, this assumption is still violated for > function return types.) > > PR c/123309 > > gcc/c/ChangeLog: > * c-typeck.cc (transparent_union_replacement): New function. > (composite_type_internal): Rewrite logic. > (type_lists_compatible_p): Remove dead code for NULL arguments. > > gcc/testsuite/ChangeLog: > * pr123309.c: New test. > * union-composite-type.c: New test.
OK. -- Joseph S. Myers [email protected]
