Hi Volker,

Thanks for the xlc update - I will incorporate that.

It has been suggested that we actually set c99 rather than gnu99 to avoid any GNU extensions creeping in. Does anyone have any concerns with doing that?

Thanks,
David

On 21/05/2019 12:05 am, Volker Simonis wrote:
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.hol...@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

Reply via email to