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