CaseyCarter / cmcstl2

An implementation of C++ Extensions for Ranges
Other
221 stars 68 forks source link

sets the required standard to C++20 #313

Closed cjdb closed 5 years ago

cjdb commented 5 years ago

CMake was compiling with -std=gnu++1z by default, which apparently causes some strange functionality (see https://godbolt.org/z/g6duRE). This commit sets the minimum standard to the closest standard to either C++2a or C++20 and disables compiler extensions.

CaseyCarter commented 5 years ago
CMake Error in examples/CMakeLists.txt:
  The compiler feature "cxx_std_20" is not known to CXX compiler

  "GNU"

  version 7.3.0.

While we don't precisely need any particular 20 features given support for TS concepts, I'm inclined to cut the cord anyway and drop support for GCC7. "Most recent two compiler releases" is reasonable support for a research tool like cmcstl2.

Opinions?

cjdb commented 5 years ago

While we don't precisely need any particular 20 features given support for TS concepts, I'm inclined to cut the cord anyway and drop support for GCC7. "Most recent two compiler releases" is reasonable support for a research tool like cmcstl2.

Opinions?

I'm in favour, but I think we'll need to fix #311 first.

CaseyCarter commented 5 years ago

I'm in favour, but I think we'll need to fix #311 first.

Actually supporting GCC9 is obviously a prerequisite for GCC9 support; there's no need to make any changes (except to the CI scripts) to drop GCC7 support.