RFR: 8330520: linux ppc64le clang build fails in os_linux.cpp with static_assert with no message is a C++17 extension
Matthias Baesken
mbaesken at openjdk.org
Wed Apr 17 15:09:00 UTC 2024
On Wed, 17 Apr 2024 15:02:15 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:
>> We run into the following build error when compiling on Linux ppc64le with the clang toolchain
>>
>>
>> jdk/src/hotspot/os/linux/os_linux.cpp:2975:65: error: 'static_assert' with no message is a C++17 extension [-Werror,-Wc++17-extensions]
>> static_assert(MADV_POPULATE_WRITE == MADV_POPULATE_WRITE_value);
>>
>>
>> Currently it is not clear when "8314488: Compile the JDK as C++17" will be in the codebase so better fix the static_assert .
>
> src/hotspot/os/linux/os_linux.cpp line 2975:
>
>> 2973: #else
>> 2974: // Sanity-check our assumed default value if we build with a new enough libc.
>> 2975: static_assert(MADV_POPULATE_WRITE == MADV_POPULATE_WRITE_value, "MADV_POPULATE_WRITE != MADV_POPULATE_WRITE_value");
>
> Maybe use this instead?
> Suggestion:
>
> STATIC_ASSERT(MADV_POPULATE_WRITE == MADV_POPULATE_WRITE_value);
This would look very strange, considering we have another very similar static_assert with message at line 2985 just 10 lines below .
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18816#discussion_r1569007084
More information about the hotspot-runtime-dev
mailing list