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 hotspot-dev
mailing list