RFR: 8224214: [AIX] Remove support for legacy xlc compiler
David Holmes
david.holmes at oracle.com
Fri Aug 30 13:33:44 UTC 2019
Hi Matthias,
On 30/08/2019 5:55 pm, Baesken, Matthias wrote:
> Hi David , thanks for forwarding to build-dev + your comments . May I add you as reviewer?
Of course.
>
> New webrev :
>
> http://cr.openjdk.java.net/~mbaesken/webrevs/8224214.2/
Updates look good.
Thanks,
David
-----
> -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