Review request (XS): 7167437 - Can't build on linux without precompiled headers
Stefan Karlsson
stefan.karlsson at oracle.com
Thu May 10 17:31:53 UTC 2012
On 2012-05-10 18:48, John Coomes wrote:
> Stefan Karlsson (stefan.karlsson at oracle.com) wrote:
>> http://cr.openjdk.java.net/~stefank/7167437/webrev/
>>
>> The inline function set_concurrent_iteration_safe_limit is not available
>> when building binaryTreeDictionary.cpp. This breaks the build when
>> compiling with USE_PRECOMPILED_HEADER=0.
>>
>> I moved the simple implementation to the .hpp file instead of the
>> .inline.hpp file.
> Change looks fine.
Thanks.
>
> I'm curious why it's necessary - Solaris compiles without pch.
The last time I encountered a similar problem the inline.hpp file was
included after the usage for the inline function. The Sun Studio
compiler seems to handle it but GCC complains.
> Would
> including space.inline.hpp in binaryTreeDictionary.cpp (or .hpp) also
> solve it?
Yes, but it's not apparent from the code in binaryTreeDictionary.cpp
that it will end up using set_concurrent_iteration_safe_limit.
A better solution, IMHO, is to not have calls in hpp files going to
functions in inline.hpp files. This will also help us reduce the amount
of dependencies and implementation code in the hpp files. Last time I
checked almost all cpp files brought in around 400 hpp files.
StefanK
>
> -John
More information about the hotspot-gc-dev
mailing list