RFR: 8224087: Compile C code for at least C99 Standard compliance
Volker Simonis
volker.simonis at gmail.com
Mon May 20 14:05:20 UTC 2019
Hi David,
thanks for considering AIX in your change.
With OpenJDK 13 we've moved to XLC 16 which has a new Clang based
frontend. The "ucs" feature-suboption [1] you're using in your change
is only supported in the old, xlc compiler but not in the new xlclang
any more [2]. However, the good news is that the new xlclang now
supports the same "-std=gn99" option like gcc and clang, so you could
easily handle the xlc case now together with gcc and clang as shown in
this webrev:
http://cr.openjdk.java.net/~simonis/webrevs/2019/8224087/
Otherwise, your change looks good!
Please let me know once you've pushed it. I opened "8224214: [AIX]
Remove support for legacy xlc compiler" [3] for further cleannups
because we still set some "-qlanglvl" options for C++ which aren't
supported by the new compiler either.
Best regards,
Volker
[1] https://www.ibm.com/support/knowledgecenter/SSGH3R_12.1.0/com.ibm.xlcpp121.aix.doc/compiler_ref/opt_langlvl.html
[2] https://www.ibm.com/support/knowledgecenter/SSGH3R_16.1.0/com.ibm.xlcpp161.aix.doc/compiler_ref/opt_langlvl_aix.html
On Mon, May 20, 2019 at 9:40 AM David Holmes <david.holmes at oracle.com> 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