diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index b9986434d09d2..367c1ae2803e0 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -585,6 +585,8 @@ Improvements to Clang's diagnostics - For an rvalue reference bound to a temporary struct with an integer member, Clang will detect constant integer overflow in the initializer for the integer member (#GH46755). +- Fixed a false negative ``-Wunused-private-field`` diagnostic when a defaulted comparison operator is defined out of class (#GH116961). + Improvements to Clang's time-trace ---------------------------------- diff --git a/clang/test/SemaCXX/warn-unused-private-field.cpp b/clang/test/SemaCXX/warn-unused-private-field.cpp index 9913dbaafb7a5..047204e68617a 100644 --- a/clang/test/SemaCXX/warn-unused-private-field.cpp +++ b/clang/test/SemaCXX/warn-unused-private-field.cpp @@ -21,14 +21,14 @@ class SpaceShipDefaultCompare { }; class EqDefaultCompareOutOfClass { - int used; + int used; // no warning bool operator==(const EqDefaultCompareOutOfClass &) const; }; bool EqDefaultCompareOutOfClass::operator==(const EqDefaultCompareOutOfClass &) const = default; class FriendEqDefaultCompareOutOfClass { - int used; + int used; // no warning friend bool operator==(const FriendEqDefaultCompareOutOfClass &, const FriendEqDefaultCompareOutOfClass &); };