Parcourir la source

parent_of_member: Make sign conversion explicit in OffsetOfImpl()

Previously these conversions were implicit and causing quite a few
warnings on clang.
Lioncash il y a 5 ans
Parent
commit
0aff3ba2ff
1 fichiers modifiés avec 2 ajouts et 1 suppressions
  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) {