diff --git a/.github/workflows/linux.bash b/.github/workflows/linux.bash index 3b41dc145..ec6f6b05c 100755 --- a/.github/workflows/linux.bash +++ b/.github/workflows/linux.bash @@ -8,9 +8,7 @@ CMAKE_OPTS=() SCL_ENABLE_GCC=() # -Wstringop-overflow is notorious for false positives and has been a problem for years. # See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88443 -# -Wtemplate-id-cdtor leaks from using the generated headers. We should reenable this once -# we're considering moving to C++20 and/or the -ti.hpp files are generated differently. -WARN_FLAGS="-Wall -Wextra -Wno-template-id-cdtor -Wno-stringop-overflow" +WARN_FLAGS="-Wall -Wextra -Wno-stringop-overflow" case "$DISTRO" in alpine:*) diff --git a/CMakeLists.txt b/CMakeLists.txt index f10603c85..b27cd1801 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ cmake_minimum_required(VERSION 3.17...3.17) set(BOOST_MIN_VERSION "1.66.0") -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) diff --git a/tools/mkclass/classcompiler.cpp b/tools/mkclass/classcompiler.cpp index b17486cfe..2c1676a0b 100644 --- a/tools/mkclass/classcompiler.cpp +++ b/tools/mkclass/classcompiler.cpp @@ -564,7 +564,7 @@ void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&) /* constructor */ m_Header << "public:" << std::endl - << "\t" << "ObjectImpl<" << klass.Name << ">();" << std::endl; + << "\t" << "ObjectImpl();" << std::endl; m_Impl << "ObjectImpl<" << klass.Name << ">::ObjectImpl()" << std::endl << "{" << std::endl; @@ -578,7 +578,7 @@ void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&) /* destructor */ m_Header << "public:" << std::endl - << "\t" << "~ObjectImpl<" << klass.Name << ">() override;" << std::endl; + << "\t" << "~ObjectImpl() override;" << std::endl; m_Impl << "ObjectImpl<" << klass.Name << ">::~ObjectImpl()" << std::endl << "{ }" << std::endl << std::endl;