diff --git a/llvm/lib/ObjectYAML/COFFYAML.cpp b/llvm/lib/ObjectYAML/COFFYAML.cpp index cd1db24f0d5d1..e14e1b5e467b4 100644 --- a/llvm/lib/ObjectYAML/COFFYAML.cpp +++ b/llvm/lib/ObjectYAML/COFFYAML.cpp @@ -557,9 +557,9 @@ void MappingTraits::mapping( template void mapLoadConfigMember(IO &IO, T &LoadConfig, const char *Name, M &Member) { // Map only members that match a specified size. - if (reinterpret_cast(&Member) - - reinterpret_cast(&LoadConfig) < - LoadConfig.Size) + ptrdiff_t dist = + reinterpret_cast(&Member) - reinterpret_cast(&LoadConfig); + if (dist < (ptrdiff_t)LoadConfig.Size) IO.mapOptional(Name, Member); }