소스 검색

parent_of_member: Make sign conversion explicit in OffsetOfImpl()

Previously these conversions were implicit and causing quite a few
warnings on clang.
Lioncash 5 년 전
부모
커밋
0aff3ba2ff
1개의 변경된 파일2개의 추가작업 그리고 1개의 파일을 삭제
  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) {