On Wed, Jul 19, 2017 at 1:56 AM, Kim Barrett <kim.barr...@oracle.com> wrote:
>> On Jun 30, 2017, at 6:08 PM, Kim Barrett <kim.barr...@oracle.com> wrote:
>>
>>> On Jun 29, 2017, at 5:17 PM, Jeff Heath <jrhe...@ca.ibm.com> wrote:
>>>
>>> Hi all,
>>>
>>> On the LE Linux platform, XL C/C++ V13.1.5 has full support of C++11 and 
>>> partial support of C++14.  On AIX, XL C/C++ V13.1.3 has partial support of 
>>> C++11.  The exact feature list is described in the language reference, but 
>>> is available in a more consumable form here [1]. This is still a pretty 
>>> current list.
>>>
>>> [1] 
>>> https://www.ibm.com/developerworks/community/blogs/5894415f-be62-4bc0-81c5-3956e82276f3/entry/What_new_C_11_language_features_you_will_get_by_using_the_latest_XL_C_C_V13_1_2_and_a_sneak_peak_at_C_14?lang=en
>>>
>>> Regards,
>>>
>>> Jeff
>>
>> Thanks for the link.
>>
>> […]
>> However, just the sheer number of holes in the AIX column is a
>> significant concern. […]
>
> We're planning another round of compiler upgrades and platform
> refreshes for the JDK support by Oracle.  (Some downstream providers
> are already building with much more recent compilers.)  Absent the
> XLC++ on AIX deficiencies we would be looking at enabling the use of
> C++14 as part of that upgrade; all of the other supported compilers
> can easily handle that.  Is there any information that can be shared
> regarding expected availability of C++11/14 features for XLC++ on AIX?
>

..first of all, adding build-dev because that seems to be the most
appropriate list for such discussions.

For new OpenJDK releases, upgrading the minimal required platforms and
compilers is natural and per se OK.

Requiring new C++ language features is a much more heavyweight change
and needs careful reasoning and discussion:

- OpenJDK is not a "pure" open source project. It is also available as
a commercial version which Oracle licenses to various customers
(including SAP). These customers support more/different platforms than
the ones available in the OpenJDK (i.e. we also support HPUX with
aCC). That said, this is an OpenJDK mailing list and I won't go into
more details here. Such issues should be addressed trough the
corresponding license engineering channels. I just wanted to point out
that (unfortunately) such a discussion probably won't happen
completely in the open.

- I suppose the requirement for C++ 14 is planned only for jdk10 and
beyond  and not for jdk8/jdk9, right? It should be clear however, that
once we start using these new C++ features, downports of
fixes/features will become increasingly hard. And not only if the
fixes/feature uses the new C++ 14 features, but also if they
indirectly rely on them. The exact amount of these costs depends on
how many fixes/features will be downported in the future. If we really
come to a more frequent release model (as discussed in other threads),
this may be not that much of a problem.

- Related to the previous topic, I suppose you don't plan to upgrade
the compiler requirements for already released versions of OpenJDK. Is
this correct?

- SAP is currently maintaining the AIX port in the OpenJDK and we're
willing to do that in the future. But we're not IBM and we can not
decide about the XLC feature list. If Oracle and the OpenJDK community
finally decide to use C++11/14 features which are not available in XLC
we have to live with that. We can either escalate the XLC deficiencies
to IBM and suspend the port until the compiler gets fixed. Or we can
switch the port to use the GCC tool chain with all the pros (bigger
compatibility with Linux platforms) and cons (porting effort, testing,
compatibility with other AIX software compiled with XLC, compiler
support). While the GCC alternative sounds very appealing at a first
glance it really isn't that perfect in reality, especially not for our
commercial SAP JVM version of OpenJDK. One problem is the fact that
there's no official support for GCC on AIX, the other is
compatibility. Just think you had to replace Solaris Studio by GCC on
Solaris :)

@Tim, Jeff: could you pleas escalate this issue to XLC product
management and get back to us with the outcome?

Finally, I'm not sure what would be the right format to discuss this
issue (maybe a JEP, maybe an enhancement request in JBS, maybe just a
mail thread) and how to proceed? Pragmatically, we could already now
start to add code which uses new C++ features as long as it is
supported on ALL current OpenJDK platforms (and in fact we are already
doing this as the recent "type_traits metaprogramming" change 8183927
has demonstrated). Ideally, we would come up with a fixed set of
required features to avoid compatibility discussions for every single
change.

Regards,
Volker

PS: please don't shoot the messenger :) Personally I'm all for using
new compiler features if they deem useful but professionally I get
paid for supporting some exotic platforms...

>

Reply via email to