RFR: 8224087: Compile C code for at least C99 Standard compliance
David Holmes
david.holmes at oracle.com
Wed May 22 06:39:14 UTC 2019
Thanks Erik!
David
On 21/05/2019 11:49 pm, Erik Joelsson wrote:
> Looks even better!
>
> /Erik
>
> On 2019-05-20 17:56, David Holmes wrote:
>> Thank you everyone for taking a look at this.
>>
>> Here is version 2:
>>
>> http://cr.openjdk.java.net/~dholmes/8224087/webrev.v2/
>>
>> Changes:
>> - set c99 rather than gnu99
>> - Volker's change for xlc to match gcc and clang
>> - added short note to build doc (can do wiki later)
>> - cosmetic change of name to make variable based on other feedback
>> during the C++14 discussion
>>
>> Thanks,
>> David
>>
>> On 20/05/2019 5:40 pm, David Holmes wrote:
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8224087
>>> webrev: http://cr.openjdk.java.net/~dholmes/8224087/webrev/
>>>
>>> The need to remove a for-loop declaration expression to appease gcc
>>> 4.8 annoyed me enough to investigate setting C99 as our minimum allow
>>> C-language level when compiling. It turned out to be a lot more
>>> complex a situation than I thought due to toolchain quirks. See lots
>>> of details in the bug report.
>>>
>>> To summarise the changes:
>>> - gcc: force to -std=gnu99
>>> - clang force to -std=gnu99
>>> - Solaris studio - no effective change
>>> - Visual Studio - no change
>>> - xlc - no effective change (but we use the explicit flag rather than
>>> accepting it as default)
>>>
>>> I've checked how this works with all the toolchains except xlc as I
>>> have no access to that. Some assistance from someone who can verify
>>> the correctness on xlc would be appreciated.
>>>
>>> Thanks,
>>> David
More information about the build-dev
mailing list