[Bug c++/107897] [13 Regression] mangling conflicts with a previous mangle since r13-3601
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Feb 2 16:12:59 GMT 2023
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?
More information about the Gcc-bugs
mailing list