RFR: JDK-8238281 Raise minimum gcc version needed to 5.0

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Mon Feb 3 08:02:34 UTC 2020


JEP 347 "Adopt C++14 Language Features in HotSpot" (JDK-8208089) will 
require that all compilers support the C++14 language extension. The 
first gcc version to fully support C++14 is 5.0. We need to raise the 
bar from 4.8 to 5.0.

Since removing support for old compilers, especially gcc, can be tricky 
to handle for some on old and odd setups, I think it's best to do this 
as a separate step from the C++14 upgrade.

On the way, this will allow us to remove some workarounds/close some 
bugs for really old gcc versions.

For hotspot, most notably this means:

  * The workarounds for no ATTRIBUTE_PRINTF are not needed anymore.

* The workaround for ATTRIBUTE_ALIGNED is no longer needed.

* The workaround in offset_of is not needed anymore. Instead, the 
appropriate warning is disabled. (In fact, now only xlc need special 
treatment for offset_of; if that could be fixed now, it would mean that 
offset_of can be replaced by offsetof in hotspot.)

* [Bug fix] The define CAN_USE_NAN_DEFINE (which is used only in 
share/runtime/sharedRuntimeTrans.cpp), is now always defined for gcc. 
This was previously done only for gcc >= 4.3 and < 5. I believe this was 
a bug, and the intention was to allow for old-style NaN behavior in gcc 
4.2 and older.

Bug: https://bugs.openjdk.java.net/browse/JDK-8238281
WebRev: 
http://cr.openjdk.java.net/~ihse/JDK-8238281-make-gcc-5-minimum/webrev.01




More information about the build-dev mailing list