[Bug c++/105223] [12 Regression] filter_memfn_lookup internal compiler error
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Apr 12 03:57:43 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105223
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jason Merrill <jason@gcc.gnu.org>:
https://gcc.gnu.org/g:4195fced8a13422db94e179404588d9d887a036a
commit r12-8098-g4195fced8a13422db94e179404588d9d887a036a
Author: Jason Merrill <jason@redhat.com>
Date: Mon Apr 11 17:51:43 2022 -0400
c++: using operator= [PR105223]
In a template class A we normally add an implicit using A::operator= as a
placeholder for the implicitly declared operator whose signature we don't
know yet. In my patch for PR92918 I stopped doing that if the class has an
explicit operator=, but that was wrong; an operator= taking an unrelated
type doesn't prevent the implicit declaration.
When I was working on that patch, the change was necessary to avoid another
regression, but apparently it is no longer needed.
PR c++/105223
PR c++/92918
gcc/cp/ChangeLog:
* class.cc (finish_struct): Always using op=.
gcc/testsuite/ChangeLog:
* g++.dg/template/using31.C: New test.
More information about the Gcc-bugs
mailing list