[Clang] Reject in-class defaulting of previously declared comparison operators
authorRoy Jacobson <roi.jacobson1@gmail.com>
Sun, 15 Jan 2023 22:39:15 +0000 (00:39 +0200)
committerRoy Jacobson <roi.jacobson1@gmail.com>
Tue, 17 Jan 2023 20:29:51 +0000 (22:29 +0200)
commit6a763343e29f339cf3a9d282a309589174c74f09
tree188b4dd974acff643271c67f512a46b5c10bcc32
parent566ecc223165905ad1e012dc9b847694fb1f8fdb
[Clang] Reject in-class defaulting of previously declared comparison operators

Comparison operators are not allowed to be defaulted if they were previously declared outside the class.
Pretty low-impact, but it's nice to reject this without a linking error.
Fixes https://github.com/llvm/llvm-project/issues/51227.

Reviewed By: #clang-language-wg, ChuanqiXu

Differential Revision: https://reviews.llvm.org/D141803
clang/docs/ReleaseNotes.rst
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/lib/Sema/SemaDeclCXX.cpp
clang/test/CXX/class/class.compare/class.compare.default/p1.cpp
clang/test/CXX/class/class.compare/class.compare.default/p2.cpp
clang/test/CXX/class/class.compare/class.compare.default/p3.cpp