On May 4, 2021, at 12:33 PM, Charlie Black <cbl...@vmware.com<mailto:cbl...@vmware.com>> wrote:
Another viewpoint is this is a library and that library can be used by older applications. So being cutting edge on the complier on the library does not increase the adoption of Geode. The public API can’t change in a minor release in a way that would break, so all previous C++11 based APIs would remain intact. Older applications utilizing C++11 would continue to work. We can define any new public C++17 APIs in way that utilizes the feature macros from C++11 and newer to enable features at runtime depending on the compiler support. The real problem is the runtime libraries for C++17 support need updating. The older application needs to be compiled with the newer compiler and runtime library. This mostly affects older OSs, like RHEL 7 and Ubuntu 18.04. On RHEL 7 we are already require using devtoolkit 4 to get the GCC 5 compiler and C++11 runtimes. To support this bump to C++17 RHEL 7 needs to use Devtoolkit 9. Similar is true with Ubuntu 18.04, which provides the ability to install GCC 9, though it isn’t default. Shockingly this isn’t really a problem for Windows. -Jake