We are currently limited to C++ 11.
C++17 was standardized in 2017, and all of the major compilers we support have 
had full C++17 support for several years.
What about increasing the minimum required C++ standard to C++17?


# Set compiler and linker flags common to all build environments
# current trunk uses the C++ "override" keyword, which requires C++11
if (CMAKE_VERSION VERSION_LESS "3.1")
  if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
  endif ()
else ()
  set (CMAKE_CXX_STANDARD 11)
endif ()


The minimum compiler versions for C++17 support are approximately:

Compiler        Minimum    Year   C++17 option    Comment
                version

Clang (Linux)    5.0       2017   -std=c++17      C++17 language support 
completed in Clang 5.

Apple Clang     10.0       2018   -std=c++17      Xcode 10 added important 
missing C++17 library headers.

GCC              7.1       2017   -std=c++17      C++17 language support is 
complete in GCC 7.1; 
GCC             12.0       2022                   however, the C++17 library 
was not fully complete until GCC 12.0.

MSVC (cl)       19.14      2018   /std:c++17      MSVC toolset shipped with 
Visual Studio 2017 15.7.


So the oldest relevant compiler versions are now 8–9 years old.

Would there be any objection to bumping CMAKE_CXX_STANDARD from 11 to 17?
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to