keyAndValue.key is a uint64_t, whereas pointerId is a size_t, which is 32-bits on some platforms. This mismatch is normally just a warning, but breaks builds where warnings are treated as errors. Address this mismatch by explicitly casting keyAndValue.key to a size_t.
<rdar://problem/51370464>
The bit about size_t appears to be incorrect. It looks like PointerID is just an int32_t. I'm now curious as to why this conversion issue doesn't hit all platforms.
64-to-32 bit conversion warnings are disabled for arm64. That's why most builds succeed. However, some products build for armv7k, which does not disable this conversion. It's the build for this architecture that's failing. Source/WebCore/Configurations/Base.xcconfig 78:GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 79:GCC_WARN_64_TO_32_BIT_CONVERSION[arch=arm64*] = NO; 80:GCC_WARN_64_TO_32_BIT_CONVERSION[arch=x86_64] = NO;
See also Bug 107093.
Created attachment 371233 [details] Patch
Comment on attachment 371233 [details] Patch r=me
Comment on attachment 371233 [details] Patch Clearing flags on attachment: 371233 Committed r246072: <https://trac.webkit.org/changeset/246072>
All reviewed patches have been landed. Closing bug.
Thanks for catching that Keith.