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

David Holmes david.holmes at oracle.com
Mon May 20 07:40:00 UTC 2019


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