https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107897
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jason at gcc dot gnu.org --- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The error can be certainly worked around with -fabi-compat-version=18, but I wonder if we just shouldn't disable mangling aliases for decls where write_closure_type_name has been called and LAMBDA_EXPR_SCOPE_SIG_DISCRIMINATOR != LAMBDA_EXPR_SCOPE_ONLY_DISCRIMINATOR. Because the mangling change doesn't look like mangle this differently, but use different numbering scheme in the same mangling. If yes, it could be arranged by if ((LAMBDA_EXPR_SCOPE_SIG_DISCRIMINATOR (lambda) != LAMBDA_EXPR_SCOPE_ONLY_DISCRIMINATOR (lambda)) && abi_warn_or_compat_version_crosses (18)) G.need_abi_warning = true; not setting just the G.need_abi_warning flag but some new flag in G which would disable creation of the mangling alias. Thoughts on that?