Przeglądaj źródła

parent_of_member: Make sign conversion explicit in OffsetOfImpl()

Previously these conversions were implicit and causing quite a few
warnings on clang.
Lioncash 5 lat temu
rodzic
commit
0aff3ba2ff
1 zmienionych plików z 2 dodań i 1 usunięć
  1. 2 1
      src/common/parent_of_member.h

+ 2 - 1
src/common/parent_of_member.h

@@ -109,7 +109,8 @@ struct OffsetOfCalculator {
             }
         }
 
-        return (next - start) * sizeof(MemberType) + Offset;
+        return static_cast<ptrdiff_t>(static_cast<size_t>(next - start) * sizeof(MemberType) +
+                                      Offset);
     }
 
     static constexpr std::ptrdiff_t OffsetOf(MemberType ParentType::*member) {