On Fri, 11 Mar 2022, dieter wrote:
On Fri, 11 Mar 2022 09:48:52 +0100 (CET) Richard Biener wrote:
One cannot make guesses here, the issues could be very obvious or well hidden (just some silent data corruption for example). ...
I also think so. In the last decade C++ standards have become fast moving targets in relation to enterprise distribution timelines. Much less then python though. In theory system libraries should be built with the system compiler. But users (or SLE customers) who use gcc-11 - which is also part of the distribution - to develop their own software would also face these possible ABI issues.
Therefore maybe there should be a general guideline to build distribution packages which require C++17 features with gcc-11 and not with gcc-7 + "-std=c++17". In order to avoid unstable ABI parts to be included which could result in undefined behavior, crashes or security problems. And also a hint for users/customers who build their own C++ projects to use gcc-11 if they need C++17 support. What anyway makes sense also because of other improvements.
Fact is the system compiler only supports C++17 experimentally, so it's actually unsupported. That means system software components should refrain themselves from using C++17, it's too new and shiny. What C++17 feature does poppler (it was poppler?) use? GCC 7 supports C++14 just fine. Richard. -- Richard Biener <rguenther@suse.de> SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany; GF: Ivo Totev; HRB 36809 (AG Nuernberg)