RFR(L): 8037816 : Fix for 8036122 breaks build with Xcode5/clang
david.holmes at oracle.com
Mon Apr 28 07:07:39 UTC 2014
On 25/04/2014 10:10 PM, David Chase wrote:
> On 2014-04-25, at 1:29 AM, Stefan Karlsson <stefan.karlsson at oracle.com> wrote:
>> Hi David,
>>> Among the changes/observations:
>>> int64_t and jlong are NOT NOT NOT the same type on all platforms.
>> Could you clarify this? To me they both look like 64 bit signed integers. What am I missing?
> On at least one 64-bit platform (I think at least XCode 4.6.3 / gcc 4.2 on Mountain Lion) one
> of the two is defined to be "long" and the other "long long". Even though both of those are
> 64 bits, gcc "knows" that there are platforms where long is only 32 bits, and hence this could
> be a problem when you recompile on different platform.
That doesn't make sense to me. gcc should be looking at the current
definitions of those types in the current build, not considering some
absolute truth as to what these types might be across different platforms.
> Thus the warnings, against future unportability.
> Gcc doesn't "know" that we plan to change our macro definitions for that platform.
More information about the hotspot-dev