diff options
author | Jason Merrill <jason@redhat.com> | 2022-04-11 17:51:43 -0400 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2022-04-11 23:57:08 -0400 |
commit | 4195fced8a13422db94e179404588d9d887a036a (patch) | |
tree | 3a085b55cd3c7d23637e6309b41fbd4433bc48c5 /gcc/builtins.cc | |
parent | 6afb21b824dabf17c79e7b0a4230572f091307ec (diff) | |
download | gcc-4195fced8a13422db94e179404588d9d887a036a.zip gcc-4195fced8a13422db94e179404588d9d887a036a.tar.gz gcc-4195fced8a13422db94e179404588d9d887a036a.tar.bz2 |
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.
Diffstat (limited to 'gcc/builtins.cc')
0 files changed, 0 insertions, 0 deletions