RFR: 8266773: Release VM is broken with GCC 9 after JDK-8214237
Leo Korinth
lkorinth at openjdk.java.net
Mon May 10 13:29:59 UTC 2021
On Mon, 10 May 2021 09:10:18 GMT, Leo Korinth <lkorinth at openjdk.org> wrote:
>>> No, don't do this. `indent` never returns NULL. It asserts the given argument is in bounds. The warning is a (gcc9-specific?) false positive, similar to JDK-8235819.
>>
>> Thanks @kimbarrett for your review.
>>
>> Yes, I agree that this seems to be false positive with gcc 9.
>>
>> Fastdebug build wouldn't fail due to the existence of the assert.
>> But release vm would fail since there is no such an assert.
>>
>> So any suggestions?
>> Thanks.
>
> Maybe instead use something like:
> `out->print("%*s%s", 2 * indent_level, "", "indented*s");`
> or:
> `out->print("%*c%s", 2 * indent_level, ' ', "indented*c");`
>
> And get rid of the "Indents" string array and associated functions.
The string version ("%*s") of mine is better as it will correctly indent the zero indentation case.
-------------
PR: https://git.openjdk.java.net/jdk/pull/3941
More information about the hotspot-gc-dev
mailing list