[clang] [Clang] Fix -Wunused-private-field false negative with defaulted comparison operators (PR #116871)

Mészáros Gergely via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 20 02:48:20 PST 2024


================
@@ -20,6 +20,17 @@ class SpaceShipDefaultCompare {
   int operator<=>(const SpaceShipDefaultCompare &) const = default;
 };
 
+class UnusedConstPrivateField {
+ public:
+  UnusedConstPrivateField() : unused_(0) {}
+ private:
+  const int unused_; // expected-warning{{private field 'unused_' is not used}}
+};
+
+class FriendEqDefaultCompare {
+  friend auto operator==(FriendEqDefaultCompare, FriendEqDefaultCompare) -> bool = default;
----------------
Maetveis wrote:

Can you add a test case with a non-friend (normal method) on the unrelated class too?
Also it would be nice to extend the original test (the positive one) with a case where the comparison is defined as a friend function.

https://github.com/llvm/llvm-project/pull/116871


More information about the cfe-commits mailing list