[Bug ada/124285] [13/14/15/16 regression] infinite recursion on unchecked union type with representation clause
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Feb 28 18:55:43 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124285
--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-15 branch has been updated by Eric Botcazou
<ebotcazou@gcc.gnu.org>:
https://gcc.gnu.org/g:ba99b94208670193f3b4d852e668d8b8b07754ac
commit r15-10870-gba99b94208670193f3b4d852e668d8b8b07754ac
Author: Eric Botcazou <ebotcazou@adacore.com>
Date: Sat Feb 28 19:48:23 2026 +0100
Ada: Fix infinite recursion on unchecked union with representation clause
This is a regression present on all active branches: the compiler enters an
infinite recursion when it is generating the initialization procedure of an
unchecked union type with a representation clause, because the layout it
has
done for it is problematic. This comes from an old kludge added to support
aggregates for such types, so the fix is to further tweak this kludge.
gcc/ada/
PR ada/124285
* gcc-interface/decl.cc (components_to_record): Force a packed
layout for the innermost variant of an unchecked union type with
fixed part and full representation clause.
gcc/testsuite/
* gnat.dg/specs/unchecked_union3.ads: New test.
More information about the Gcc-bugs
mailing list