diff --git a/CMakeLists.txt b/CMakeLists.txt index 4931c0a7c..9a6bec783 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,7 +42,7 @@ endif() ### Compiler options -set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD 17) set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CXX_DEFAULT_FLAGS # clang/GCC warnings $<$,$>:-Wall;-Wextra;-Werror;-Wno-overloaded-virtual> diff --git a/src/antlr/Parser.hpp b/src/antlr/Parser.hpp index 91fb951f5..4f629b0bb 100644 --- a/src/antlr/Parser.hpp +++ b/src/antlr/Parser.hpp @@ -299,7 +299,11 @@ protected: { #ifdef ANTLR_CXX_SUPPORTS_UNCAUGHT_EXCEPTION // Only give trace if there's no uncaught exception.. +# if __cplusplus >= 201703 + if(ANTLR_USE_NAMESPACE(std)uncaught_exceptions() == 0) +# else if(!ANTLR_USE_NAMESPACE(std)uncaught_exception()) +# endif #endif parser->traceOut(text); }