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]

Reply via email to