[Bug c++/125555] [16/17 Regression] error: mangling of ... conflicts with a previous mangle [import std]

"ppalka at gcc dot gnu.org via Gcc-bugs" <[email protected]>
Newsgroups gmane.comp.gcc.bugs
Message-ID <[email protected]/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125555

Patrick Palka <ppalka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch

--- Comment #9 from Patrick Palka <ppalka at gcc dot gnu.org> ---
(In reply to Leander Schulten from comment #6)
> I asked claude back then when creating the issue and it came up with 
> 
> diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc
> index d81db520bab83..1329c6e646b43 100644
> --- a/gcc/cp/module.cc
> +++ b/gcc/cp/module.cc
> @@ -15449,7 +15449,18 @@ depset::hash::add_specializations (bool decl_p)
>  	      else if (is_friend)
>  		{
>  		  if (TI_TEMPLATE (ti) != entry->tmpl
> -		      || !template_args_equal (TI_ARGS (ti), entry->tmpl))
> +		      && template_args_equal (TI_ARGS (ti), entry->args))
> +		    /* SPEC is an implicit instantiation of a hidden friend
> +		       template.  It is keyed in the specialization table to
> +		       the most general template (ENTRY->TMPL), but it was
> +		       produced from the per-class pseudo-instantiation of the
> +		       friend (TI_TEMPLATE).  This is a genuine specialization
> +		       that importers must be able to merge with equivalent
> +		       instantiations of their own, so record it as an ordinary
> +		       specialization rather than dropping it as a friend clone
> +		       (PR c++/125552).  */
> +		    is_friend = false;
> +		  else
>  		    goto template_friend;
>  		}
>  	    }
> with tests and commit msg:
> https://github.com/autoantwort/gcc/commit/
> 44074a193ddc506296b47c1fc1d05d772f8ff871
Want to submit your patch to the mailing list for review? GCC's recent AI
policy (https://gcc.gnu.org/ai-policy.html) permits LLM-authored patches that
are small and legally insignificant.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.