RFR: 8224087: Compile C code for at least C99 Standard compliance

David Holmes david.holmes at oracle.com
Tue May 21 00:56:12 UTC 2019


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