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... >