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