ice icon indicating copy to clipboard operation
ice copied to clipboard

Set minimum C++ standard to c++17

Open bernardnormier opened this issue 2 years ago • 0 comments

For Ice 3.8, the min C++ standard for our entire C++ source base should be c++17. As a result, we can use c++17 features (including standard library features such as std::optional) anywhere without conditional code.

This does not mean we always build everything with -std:c++17.

I propose that with each compiler we build with the highest stable -std option: c++17, c++20, c++23 ... the highest stable std with a stable ABI. See for example: https://devblogs.microsoft.com/cppblog/msvc-cpp20-and-the-std-cpp20-switch/

This way, we can use newer feature in the code base with conditionals. And we'll get warnings in the event we use features deprecated in c++20/23 etc.

bernardnormier avatar Dec 26 '23 19:12 bernardnormier