RFR: 8257420: Zero VM build broken with clang after JDK-8256726 due to strlen() is not a constexpr [v3]

Thomas Stuefe stuefe at openjdk.java.net
Mon Nov 30 17:11:57 UTC 2020


On Mon, 30 Nov 2020 15:24:12 GMT, Jie Fu <jiefu at openjdk.org> wrote:

>> Hi all,
>> 
>> The newly added STATIC_ASSERT [1] breaks the build of Zero VM with clang.
>> It complains that 'non-type template argument is not a constant expression' since strlen() [2] is not a constexpr.
>> 
>> Any comments?
>> 
>> Thanks.
>> Best regards,
>> Jie
>> 
>> [1] https://github.com/openjdk/jdk/blob/master/src/hotspot/share/interpreter/zero/bytecodeInterpreter.cpp#L1374
>> [2] https://github.com/openjdk/jdk/blob/master/src/hotspot/share/runtime/flags/jvmFlagLookup.hpp#L42
>
> Jie Fu has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Inline add_len

Looks fine.

I guess another solution would have been 

#define MSGFMT "Index %d out of bounds for length %d"
#define add_len sizeof(MSGFMT)
..
char message[2 * jintAsStringSize + add_len]; 
..
jio_snprintf(message, sizeof(message), MSGFMT, \
...
to spare you the character counting

-------------

Marked as reviewed by stuefe (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/1518


More information about the hotspot-runtime-dev mailing list