OSDN Git Service

List implicit operator== after implicit destructors in a vtable.
authorRichard Smith <richard@metafoo.co.uk>
Tue, 21 Jan 2020 23:52:15 +0000 (15:52 -0800)
committerRichard Smith <richard@metafoo.co.uk>
Tue, 21 Jan 2020 23:54:40 +0000 (15:54 -0800)
commit6e73fee780839bfa95aff492864e93e79910380b
treee357ed8bc1dc7e17c4f2b1d7041bee6e38b49f93
parentfa001767f0856118e8e7c8f12c31ef7c3afe2b4e
List implicit operator== after implicit destructors in a vtable.

Summary:
We previously listed first declared members, then implicit operator=,
then implicit operator==, then implicit destructors. Per discussion on
https://github.com/itanium-cxx-abi/cxx-abi/issues/88, put the implicit
equality comparison operators at the very end, after all special member
functions.

This reinstates add2b7e44ada46f30715b5c48823a9e9e317e0c3, reverted in
commit 89e43f04ba87a0da6e94863db149669c7536486b, with a fix for 32-bit
targets.

Reviewers: rjmccall

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D72897
clang/lib/AST/VTableBuilder.cpp
clang/test/CodeGenCXX/virtual-compare.cpp [new file with mode: 0644]