https://gcc.gnu.org/g:c504ab2de5ade6de24bf32bd56c9b2bfe8546e95
commit r16-6224-gc504ab2de5ade6de24bf32bd56c9b2bfe8546e95 Author: Jose E. Marchesi <[email protected]> Date: Wed Dec 17 18:17:26 2025 +0100 a68: fix handling of flex modes in complete_encoded_mode [PR algol68/123006] gcc/algol68/ChangeLog PR algol68/123006 * a68-imports.cc (complete_encoded_mode): Fix handling of flex modes. Diff: --- gcc/algol68/a68-imports.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/algol68/a68-imports.cc b/gcc/algol68/a68-imports.cc index c628d21f5819..2fbe15d4156f 100644 --- a/gcc/algol68/a68-imports.cc +++ b/gcc/algol68/a68-imports.cc @@ -706,7 +706,9 @@ complete_encoded_mode (encoded_modes_map_t &encoded_modes, uint64_t offset) /* For recursive declarations. */ em->moid = a68_create_mode (em->kind == GA68_MODE_NAME ? REF_SYMBOL : FLEX_SYMBOL, 0, NO_NODE, M_ERROR, NO_PACK); - sub = complete_encoded_mode (encoded_modes, em->data.name.sub_offset); + sub = complete_encoded_mode (encoded_modes, + em->kind == GA68_MODE_NAME + ? em->data.name.sub_offset : em->data.flex.sub_offset); if (sub == NO_MOID) { /* Free em->moid */
