RFR: 8224214: [AIX] Remove support for legacy xlc compiler

Baesken, Matthias matthias.baesken at sap.com
Fri Aug 30 07:55:19 UTC 2019


Hi David , thanks  for forwarding to build-dev + your comments . May I add you as reviewer?

New webrev :

http://cr.openjdk.java.net/~mbaesken/webrevs/8224214.2/

-adjusted  the copyright year in make/autoconf/toolchain.m4
-removed the comment  as suggested by you

> But that said, if __IBMCPP__ is no longer defined then it seems a fix is
> needed in ./share/runtime/vm_version.cpp as well.

-removed  __IBMCPP__  from  share/runtime/vm_version.cpp    (more a cleanup than something that is really needed) ;
reason is that  xlc16/xlclang++   comes with a very rich set   of  compiler - macros,   especially  the "usual"  clang and GNUC macros are all set ; see :

$fgrep GNUC xclangplus.txt
#define __GNUC_MINOR__ 2
#define __GNUC_PATCHLEVEL__ 1
#define __GNUC_STDC_INLINE__ 1
#define __GNUC__ 4

$ fgrep clang xclangplus.txt
#define __clang__ 1
#define __clang_major__ 4
#define __clang_minor__ 0
#define __clang_patchlevel__ 1
#define __clang_version__ "4.0.1 (tags/RELEASE_401/final)"


$ fgrep __VERSION__ xclangplus.txt
#define __VERSION__ "IBM XL C/C++ for AIX, Version 16.1.0.1"

So we  would run into the clang -case  in  vm_version.cpp    and there use  the __VERSION__ info  that is pretty  good IMHO .

Best regards, Matthias


> 
> Hi Matthias,
> 
> cc'ing build-dev for build changes.
> 
> But they look fine to me as do the main changes.
> 
> A couple of nits:
> 
> - ensure all copyright headers are updated for 2019
> 
> - in globalDefinitions_xlc.hpp this comment seems no longer necessary
> 
>    // __IBMCPP__ is not defined any more with xlclang++
> 
> But that said, if __IBMCPP__ is no longer defined then it seems a fix is
> needed in ./share/runtime/vm_version.cpp as well.
> 
> Cheers,
> David
> 
> On 30/08/2019 1:41 am, Baesken, Matthias wrote:
> > Hi Martin, I agree  about the m4 files .
> > New webrev , this additionally touches    toolchain.m4  and flags-cflags.m4
> >
> > http://cr.openjdk.java.net/~mbaesken/webrevs/8224214.1/
> >
> > Thanks, Matthias
> >
> >> -----Original Message-----
> >> From: Doerr, Martin <martin.doerr at sap.com>
> >> Sent: Donnerstag, 29. August 2019 16:19
> >> To: Baesken, Matthias <matthias.baesken at sap.com>; 'hotspot-
> >> dev at openjdk.java.net' <hotspot-dev at openjdk.java.net>; 'ppc-aix-port-
> >> dev at openjdk.java.net' <ppc-aix-port-dev at openjdk.java.net>
> >> Subject: RE: RFR: 8224214: [AIX] Remove support for legacy xlc compiler
> >>
> >> Hi Matthias,
> >>
> >> nice cleanup. Looks good to me.
> >>
> >> We can also require availability of xlclang++ in toolchain.m4. I think some
> of
> >> the changes only work with this compiler.
> >>
> >> Thanks,
> >> Martin
> >>
> >>
> >>> -----Original Message-----
> >>> From: hotspot-dev <hotspot-dev-bounces at openjdk.java.net> On
> Behalf
> >> Of
> >>> Baesken, Matthias
> >>> Sent: Donnerstag, 29. August 2019 15:41
> >>> To: 'hotspot-dev at openjdk.java.net' <hotspot-dev at openjdk.java.net>;
> >>> 'ppc-aix-port-dev at openjdk.java.net' <ppc-aix-port-
> >> dev at openjdk.java.net>
> >>> Subject: RFR: 8224214: [AIX] Remove support for legacy xlc compiler
> >>>
> >>> Hello, please review the following change .
> >>> For OpenJDK 13 we've moved to XLC 16 as required compiler.
> >>> However  we have still   a lot of workarounds and checks in the codebase
> >> for
> >>> the older xlc  compilers.
> >>> This changes removes such changes .
> >>>
> >>> Additionally  it  adjusts   the compiler version check in
> >>> hotspot/share/utilities/globalDefinitions_xlc.hpp
> >>> and 2 typos in os_aix  are fixed .
> >>>
> >>>
> >>> When  8224214   was created a while ago ,  it was discussed on the
> mailing
> >> list
> >>> :
> >>>
> >>> "we still set some '-qlanglvl' options for C++ which aren't supported by
> the
> >>> new compiler [xlc16/xlclang++] either" .
> >>> Those options  generated lots of warnings ,   so they  were removed
> >> already
> >>> so  no need to remove them  in  this change .
> >>>
> >>> (  In jdk11  which is built  with xlc12   they can still be found :
> >>> flags-cflags.m4:540: -qalias=noansi -qstrict -qtls=default -qlanglvl=c99vla
> \
> >>> flags-cflags.m4:541: -qlanglvl=noredefmac -qnortti -qnoeh -qignerrno"
> >>> )
> >>>
> >>>
> >>> Bug/webrev :
> >>>
> >>> https://bugs.openjdk.java.net/browse/JDK-8224214
> >>>
> >>> http://cr.openjdk.java.net/~mbaesken/webrevs/8224214.0/
> >>>
> >>>
> >>> Thanks, Matthias


More information about the ppc-aix-port-dev mailing list