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?

Reply via email to