diff --git a/.ycm_extra_conf.py b/.ycm_extra_conf.py index d6c53f4f68..8edacefcfc 100644 --- a/.ycm_extra_conf.py +++ b/.ycm_extra_conf.py @@ -50,7 +50,7 @@ flags = [ # a "-std=". # For a C project, you would set this to something like 'c99' instead of # 'c++11'. -'-std=c++17', +'-std=c++20', # ...and the same thing goes for the magic -x option which specifies the # language that the files to be compiled are written in. This is mostly # relevant for c++ headers. diff --git a/CMakeLists.txt b/CMakeLists.txt index 315830ab76..1fb6f0d7f8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ enable_testing() #This is supposed to work but doesn't! if(NOT ANDROID) - set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) endif() @@ -464,7 +464,7 @@ if(NOT MSVC) endif() if(ANDROID) - add_compile_options("$<$:-std=c++17>") + add_compile_options("$<$:-std=c++20>") endif() if(CLANG) # Before C++23, libc++ headers pull in many others just for old code that relied on it diff --git a/Common/Common.vcxproj b/Common/Common.vcxproj index f922675333..ac723e177c 100644 --- a/Common/Common.vcxproj +++ b/Common/Common.vcxproj @@ -112,7 +112,7 @@ true false ProgramDatabase - stdcpp17 + stdcpp20 Windows @@ -139,7 +139,7 @@ true false ProgramDatabase - stdcpp17 + stdcpp20 Windows @@ -166,7 +166,7 @@ true false ProgramDatabase - stdcpp17 + stdcpp20 Windows @@ -197,7 +197,7 @@ true MultiThreaded ProgramDatabase - stdcpp17 + stdcpp20 Windows @@ -232,7 +232,7 @@ MultiThreaded true ProgramDatabase - stdcpp17 + stdcpp20 Windows @@ -267,7 +267,7 @@ MultiThreaded true ProgramDatabase - stdcpp17 + stdcpp20 Windows diff --git a/Common/UI/PopupScreens.cpp b/Common/UI/PopupScreens.cpp index 1125f71f5b..efe6a36d46 100644 --- a/Common/UI/PopupScreens.cpp +++ b/Common/UI/PopupScreens.cpp @@ -324,7 +324,7 @@ void PopupContextMenuScreen::CreatePopupContents(UI::ViewGroup *parent) { } parent->Add(choice); if (enabled_[i]) { - choice->OnClick.Add([=](EventParams &p) { + choice->OnClick.Add([=, this](EventParams &p) { TriggerFinish(DR_OK); p.a = (uint32_t)i; OnChoice.Dispatch(p); @@ -681,7 +681,7 @@ void SliderPopupScreen::CreatePopupContents(UI::ViewGroup *parent) { if (defaultValue_ != NO_DEFAULT_FLOAT) { auto di = GetI18NCategory(I18NCat::DIALOG); Button *reset = lin->Add(new Button(di->T("Reset"), new LayoutParams(WRAP_CONTENT, 60.0f))); - reset->OnClick.Add([=](UI::EventParams &) { + reset->OnClick.Add([=, this](UI::EventParams &) { sliderValue_ = defaultValue_; changing_ = true; UpdateTextBox(); @@ -725,7 +725,7 @@ void SliderFloatPopupScreen::CreatePopupContents(UI::ViewGroup *parent) { if (defaultValue_ != NO_DEFAULT_FLOAT) { auto di = GetI18NCategory(I18NCat::DIALOG); - lin->Add(new Button(di->T("Reset"), new LayoutParams(WRAP_CONTENT, 60.0f)))->OnClick.Add([=](UI::EventParams &) { + lin->Add(new Button(di->T("Reset"), new LayoutParams(WRAP_CONTENT, 60.0f)))->OnClick.Add([=, this](UI::EventParams &) { sliderValue_ = defaultValue_; if (liveUpdate_) { *value_ = defaultValue_; @@ -1144,8 +1144,8 @@ std::string ChoiceWithValueDisplay::ValueText(bool *shadow) const { FileChooserChoice::FileChooserChoice(RequesterToken token, std::string *value, std::string_view text, BrowseFileType fileType, LayoutParams *layoutParams) : AbstractChoiceWithValueDisplay(text, layoutParams), value_(value) { - OnClick.Add([=](UI::EventParams &) { - System_BrowseForFile(token, text_, fileType, [=](std::string_view returnValue, int) { + OnClick.Add([=, this](UI::EventParams &) { + System_BrowseForFile(token, text_, fileType, [=, this](std::string_view returnValue, int) { if (*value_ != returnValue) { *value = returnValue; UI::EventParams e{}; @@ -1168,8 +1168,8 @@ std::string FileChooserChoice::ValueText(bool *shadow) const { FolderChooserChoice::FolderChooserChoice(RequesterToken token, std::string *value, std::string_view text, LayoutParams *layoutParams) : AbstractChoiceWithValueDisplay(text, layoutParams), value_(value), token_(token) { - OnClick.Add([=](UI::EventParams &) { - System_BrowseForFolder(token_, text_, Path(*value), [=](std::string_view returnValue, int) { + OnClick.Add([=, this](UI::EventParams &) { + System_BrowseForFolder(token_, text_, Path(*value), [=, this](std::string_view returnValue, int) { if (*value_ != returnValue) { *value = returnValue; UI::EventParams e{}; diff --git a/Common/UI/ViewGroup.cpp b/Common/UI/ViewGroup.cpp index 2440c417d2..739ecb5f0e 100644 --- a/Common/UI/ViewGroup.cpp +++ b/Common/UI/ViewGroup.cpp @@ -1121,7 +1121,7 @@ CollapsibleSection::CollapsibleSection(std::string_view title, LayoutParams *lay SetSpacing(0.0f); header_ = Add(new CollapsibleHeader(open_, title)); - header_->OnClick.Add([=](UI::EventParams &) { + header_->OnClick.Add([=, this](UI::EventParams &) { // Change the visibility of all children except the first one. // Later maybe try something more ambitious. UpdateVisibility(); diff --git a/Core/CMakeLists.txt b/Core/CMakeLists.txt index cba79edcf6..3ac59f5d20 100644 --- a/Core/CMakeLists.txt +++ b/Core/CMakeLists.txt @@ -743,7 +743,7 @@ if(NOT HTTPS_NOT_AVAILABLE) target_link_libraries(Core naett) endif() -target_compile_features(Core PUBLIC cxx_std_17) +target_compile_features(Core PUBLIC cxx_std_20) if(FFmpeg_FOUND) target_compile_definitions(Core PRIVATE USE_FFMPEG=1) diff --git a/Core/Core.vcxproj b/Core/Core.vcxproj index 30b7d563a2..e0a86201c1 100644 --- a/Core/Core.vcxproj +++ b/Core/Core.vcxproj @@ -117,7 +117,7 @@ MultiThreadedDebug Common/DbgNew.h ProgramDatabase - stdcpp17 + stdcpp20 true @@ -144,7 +144,7 @@ MultiThreadedDebug Common/DbgNew.h ProgramDatabase - stdcpp17 + stdcpp20 true @@ -171,7 +171,7 @@ MultiThreadedDebug Common/DbgNew.h ProgramDatabase - stdcpp17 + stdcpp20 true @@ -200,7 +200,7 @@ MultiThreaded true ProgramDatabase - stdcpp17 + stdcpp20 true @@ -235,7 +235,7 @@ MultiThreaded true ProgramDatabase - stdcpp17 + stdcpp20 true @@ -269,7 +269,7 @@ MultiThreaded true ProgramDatabase - stdcpp17 + stdcpp20 true diff --git a/Core/Debugger/WebSocket/GPURecordSubscriber.cpp b/Core/Debugger/WebSocket/GPURecordSubscriber.cpp index bad43f8175..3b689d0516 100644 --- a/Core/Debugger/WebSocket/GPURecordSubscriber.cpp +++ b/Core/Debugger/WebSocket/GPURecordSubscriber.cpp @@ -72,7 +72,7 @@ void WebSocketGPURecordState::Dump(DebuggerRequest &req) { haveGPU = PSP_GetBootState() == BootState::Complete && gpu != nullptr; if (!haveGPU) return; - started = gpu->GetRecorder()->RecordNextFrame([=](const Path &filename) { + started = gpu->GetRecorder()->RecordNextFrame([=, this](const Path &filename) { lastFilename_ = filename; pending_ = false; }); diff --git a/GPU/CMakeLists.txt b/GPU/CMakeLists.txt index 7a23a6dc9a..812e0bb75a 100644 --- a/GPU/CMakeLists.txt +++ b/GPU/CMakeLists.txt @@ -219,7 +219,7 @@ set(GPU_SOURCES # from an archive, which sidesteps the GNU ld single-pass archive-ordering problem a normal # two-way STATIC dependency would hit. Core links this PUBLICLY so consumers of Core get it. add_library(GPU OBJECT ${GPU_SOURCES}) -target_compile_features(GPU PUBLIC cxx_std_17) +target_compile_features(GPU PUBLIC cxx_std_20) if(LIBRETRO) target_include_directories(GPU PRIVATE ${CMAKE_SOURCE_DIR}/libretro/libretro-common/include) diff --git a/GPU/GPU.vcxproj b/GPU/GPU.vcxproj index 1893cc240b..7da8137553 100644 --- a/GPU/GPU.vcxproj +++ b/GPU/GPU.vcxproj @@ -135,7 +135,7 @@ MultiThreadedDebug Common/DbgNew.h ProgramDatabase - stdcpp17 + stdcpp20 true @@ -155,7 +155,7 @@ Common/DbgNew.h ProgramDatabase false - stdcpp17 + stdcpp20 true @@ -174,7 +174,7 @@ MultiThreadedDebug Common/DbgNew.h ProgramDatabase - stdcpp17 + stdcpp20 true @@ -195,7 +195,7 @@ true MultiThreaded ProgramDatabase - stdcpp17 + stdcpp20 true @@ -220,7 +220,7 @@ MultiThreaded true ProgramDatabase - stdcpp17 + stdcpp20 true @@ -245,7 +245,7 @@ MultiThreaded true ProgramDatabase - stdcpp17 + stdcpp20 true diff --git a/UI/UI.vcxproj b/UI/UI.vcxproj index 052e68b0f0..ca381aae36 100644 --- a/UI/UI.vcxproj +++ b/UI/UI.vcxproj @@ -267,7 +267,7 @@ Common/DbgNew.h $(EXTERNAL_COMPILE_OPTIONS) ProgramDatabase - stdcpp17 + stdcpp20 Windows @@ -288,7 +288,7 @@ Common/DbgNew.h $(EXTERNAL_COMPILE_OPTIONS) ProgramDatabase - stdcpp17 + stdcpp20 Windows @@ -309,7 +309,7 @@ Common/DbgNew.h $(EXTERNAL_COMPILE_OPTIONS) ProgramDatabase - stdcpp17 + stdcpp20 Windows @@ -333,7 +333,7 @@ $(EXTERNAL_COMPILE_OPTIONS) ProgramDatabase StreamingSIMDExtensions2 - stdcpp17 + stdcpp20 Windows @@ -360,7 +360,7 @@ false Size ProgramDatabase - stdcpp17 + stdcpp20 Windows @@ -387,7 +387,7 @@ false Size ProgramDatabase - stdcpp17 + stdcpp20 Windows diff --git a/UWP/Armips_UWP/Armips_UWP.vcxproj b/UWP/Armips_UWP/Armips_UWP.vcxproj index ccf7ae0fc4..20ab18684e 100644 --- a/UWP/Armips_UWP/Armips_UWP.vcxproj +++ b/UWP/Armips_UWP/Armips_UWP.vcxproj @@ -58,7 +58,7 @@ NotUsing false false - stdcpp17 + stdcpp20 _UNICODE;UNICODE;_CRT_SECURE_NO_WARNINGS;ARMIPS_USE_STD_FILESYSTEM;%(PreprocessorDefinitions) diff --git a/UWP/CommonUWP/CommonUWP.vcxproj b/UWP/CommonUWP/CommonUWP.vcxproj index 65d8a97e43..3f7e327c72 100644 --- a/UWP/CommonUWP/CommonUWP.vcxproj +++ b/UWP/CommonUWP/CommonUWP.vcxproj @@ -60,7 +60,7 @@ NOMINMAX;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;%(PreprocessorDefinitions) pch.h NotUsing - stdcpp17 + stdcpp20 Console @@ -76,7 +76,7 @@ ../..;../../ext/OpenXR-SDK/include;../../ext/native;../../ext/snappy;../../ext/glslang;../../ext/zlib;../../ext/libpng17;../../ext/zstd/lib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) NOMINMAX;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) NotUsing - stdcpp17 + stdcpp20 Console diff --git a/UWP/CoreUWP/CoreUWP.vcxproj b/UWP/CoreUWP/CoreUWP.vcxproj index 9a39a21b67..8d47f91c4e 100644 --- a/UWP/CoreUWP/CoreUWP.vcxproj +++ b/UWP/CoreUWP/CoreUWP.vcxproj @@ -60,7 +60,7 @@ pch.h ../../ext/libchdr/include;../../ext/ffmpeg;../..;../../ext/native;../../ext/snappy;../../ext/libpng17;../../Common;../../ext/zlib;../../ext/zstd/lib;../../ext;../../ext/armips/;../../ext/armips/ext/filesystem/include/;../../ext/armips/ext/tinyformat/;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) USE_FFMPEG;WITH_UPNP;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;ARMIPS_USE_STD_FILESYSTEM;%(ClCompile.PreprocessorDefinitions) - stdcpp17 + stdcpp20 Console @@ -76,7 +76,7 @@ pch.h ../../ext/libchdr/include;../../ext/ffmpeg;../..;../../ext/native;../../ext/snappy;../../ext/libpng17;../../Common;../../ext/zlib;../../ext/zstd/lib;../../ext;../../ext/armips/;../../ext/armips/ext/filesystem/include/;../../ext/armips/ext/tinyformat/;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) USE_FFMPEG;WITH_UPNP;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;NOMINMAX;_UNICODE;UNICODE;ARMIPS_USE_STD_FILESYSTEM;%(PreprocessorDefinitions) - stdcpp17 + stdcpp20 Console diff --git a/UWP/GPU_UWP/GPU_UWP.vcxproj b/UWP/GPU_UWP/GPU_UWP.vcxproj index b26a4965eb..57c62276bf 100644 --- a/UWP/GPU_UWP/GPU_UWP.vcxproj +++ b/UWP/GPU_UWP/GPU_UWP.vcxproj @@ -60,7 +60,7 @@ pch.h ../..;../../ext/snappy;../../ext/native;../../Common;../../ext;../../ext/glslang;../../ext/zstd/lib;../../ext/libpng17;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;NOMINMAX;_UNICODE;UNICODE;%(PreprocessorDefinitions) - stdcpp17 + stdcpp20 Console @@ -76,7 +76,7 @@ pch.h ../..;../../ext/snappy;../../ext/native;../../Common;../../ext;../../ext/glslang;../../ext/zstd/lib;../../ext/libpng17;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) - stdcpp17 + stdcpp20 Console diff --git a/UWP/UI_UWP/UI_UWP.vcxproj b/UWP/UI_UWP/UI_UWP.vcxproj index 785678b3c3..84ae008024 100644 --- a/UWP/UI_UWP/UI_UWP.vcxproj +++ b/UWP/UI_UWP/UI_UWP.vcxproj @@ -60,7 +60,7 @@ NOMINMAX;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;%(PreprocessorDefinitions) ../..;../../ext/native;../../Common;../../ext;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) pch.h - stdcpp17 + stdcpp20 Console @@ -76,7 +76,7 @@ NOMINMAX;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) ../..;../../ext/native;../../Common;../../ext;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) pch.h - stdcpp17 + stdcpp20 Console diff --git a/Windows/PPSSPP.vcxproj b/Windows/PPSSPP.vcxproj index 952df12f9c..0ee1608a9d 100644 --- a/Windows/PPSSPP.vcxproj +++ b/Windows/PPSSPP.vcxproj @@ -191,7 +191,7 @@ true Disabled $(EXTERNAL_COMPILE_OPTIONS) - stdcpp17 + stdcpp20 d2d1.lib;dwrite.lib;d3d11.lib;avrt.lib;mmdevapi.lib;wbemuuid.lib;dwmapi.lib;winhttp.lib;uxtheme.lib;mfuuid.lib;shlwapi.lib;Winmm.lib;Ws2_32.lib;comctl32.lib;dxguid.lib;setupapi.lib;hid.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies) @@ -229,7 +229,7 @@ true Disabled $(EXTERNAL_COMPILE_OPTIONS) - stdcpp17 + stdcpp20 d2d1.lib;dwrite.lib;d3d11.lib;avrt.lib;mmdevapi.lib;wbemuuid.lib;dwmapi.lib;winhttp.lib;uxtheme.lib;mfuuid.lib;shlwapi.lib;Winmm.lib;Ws2_32.lib;comctl32.lib;dxguid.lib;setupapi.lib;hid.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies) @@ -262,7 +262,7 @@ true Disabled $(EXTERNAL_COMPILE_OPTIONS) - stdcpp17 + stdcpp20 d2d1.lib;dwrite.lib;d3d11.lib;avrt.lib;mmdevapi.lib;wbemuuid.lib;dwmapi.lib;winhttp.lib;uxtheme.lib;mfuuid.lib;shlwapi.lib;Winmm.lib;Ws2_32.lib;comctl32.lib;dxguid.lib;setupapi.lib;hid.lib;oleaut32.lib;comdlg32.lib;shell32.lib;user32.lib;gdi32.lib;advapi32.lib;ole32.lib;%(AdditionalDependencies) @@ -297,7 +297,7 @@ stdafx.h true $(EXTERNAL_COMPILE_OPTIONS) - stdcpp17 + stdcpp20 d2d1.lib;dwrite.lib;d3d11.lib;avrt.lib;mmdevapi.lib;wbemuuid.lib;dwmapi.lib;winhttp.lib;uxtheme.lib;mfuuid.lib;shlwapi.lib;Winmm.lib;Ws2_32.lib;comctl32.lib;dxguid.lib;setupapi.lib;hid.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies) @@ -344,7 +344,7 @@ stdafx.h true $(EXTERNAL_COMPILE_OPTIONS) - stdcpp17 + stdcpp20 d2d1.lib;dwrite.lib;d3d11.lib;avrt.lib;mmdevapi.lib;wbemuuid.lib;dwmapi.lib;winhttp.lib;uxtheme.lib;mfuuid.lib;shlwapi.lib;Winmm.lib;Ws2_32.lib;comctl32.lib;dxguid.lib;setupapi.lib;hid.lib;opengl32.lib;glu32.lib;%(AdditionalDependencies) @@ -385,7 +385,7 @@ stdafx.h true $(EXTERNAL_COMPILE_OPTIONS) - stdcpp17 + stdcpp20 d2d1.lib;dwrite.lib;d3d11.lib;avrt.lib;mmdevapi.lib;wbemuuid.lib;dwmapi.lib;winhttp.lib;uxtheme.lib;mfuuid.lib;shlwapi.lib;Winmm.lib;Ws2_32.lib;comctl32.lib;dxguid.lib;setupapi.lib;hid.lib;oleaut32.lib;comdlg32.lib;shell32.lib;user32.lib;gdi32.lib;advapi32.lib;ole32.lib;%(AdditionalDependencies) diff --git a/android/jni/Locals.mk b/android/jni/Locals.mk index 431888ce47..ce3847e9ab 100644 --- a/android/jni/Locals.mk +++ b/android/jni/Locals.mk @@ -4,7 +4,7 @@ LOCAL_CFLAGS := -DUSE_FFMPEG -DWITH_UPNP -DUSING_GLES2 -DZ7_CRC_NUM_TABLES=1 -DMOBILE_DEVICE -O3 -fsigned-char -Wall -Wno-multichar -Wno-unused-variable -fno-strict-aliasing -D__STDC_CONSTANT_MACROS -DSPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS # yes, it's really CPPFLAGS for C++ # deprecated-register is generated by Android default code and causes noise. -LOCAL_CPPFLAGS := -fexceptions -std=c++17 -frtti -Wno-reorder -Wno-deprecated-register -Wno-nullability-completeness +LOCAL_CPPFLAGS := -fexceptions -std=c++20 -frtti -Wno-reorder -Wno-deprecated-register -Wno-nullability-completeness LOCAL_C_INCLUDES := \ $(LOCAL_PATH)/../../Common \ $(LOCAL_PATH)/../.. \ diff --git a/ext/cpu_features.vcxproj b/ext/cpu_features.vcxproj index 1a44cd0fe6..eabeaa5b54 100644 --- a/ext/cpu_features.vcxproj +++ b/ext/cpu_features.vcxproj @@ -152,7 +152,7 @@ true MultiThreaded true - stdcpp17 + stdcpp20 cpu_features/include STACK_LINE_READER_BUFFER_SIZE=1024;%(PreprocessorDefinitions) false @@ -173,7 +173,7 @@ true MultiThreaded true - stdcpp17 + stdcpp20 cpu_features/include STACK_LINE_READER_BUFFER_SIZE=1024;%(PreprocessorDefinitions) false @@ -192,7 +192,7 @@ Disabled MultiThreadedDebug true - stdcpp17 + stdcpp20 cpu_features/include STACK_LINE_READER_BUFFER_SIZE=1024;%(PreprocessorDefinitions) @@ -206,7 +206,7 @@ Disabled MultiThreadedDebug true - stdcpp17 + stdcpp20 cpu_features/include STACK_LINE_READER_BUFFER_SIZE=1024;%(PreprocessorDefinitions) @@ -220,7 +220,7 @@ Disabled MultiThreadedDebug true - stdcpp17 + stdcpp20 cpu_features/include STACK_LINE_READER_BUFFER_SIZE=1024;%(PreprocessorDefinitions) @@ -236,7 +236,7 @@ true MultiThreaded true - stdcpp17 + stdcpp20 cpu_features/include STACK_LINE_READER_BUFFER_SIZE=1024;%(PreprocessorDefinitions) false diff --git a/ext/libarmips.vcxproj b/ext/libarmips.vcxproj index bcb95b47f3..eb18c6edac 100644 --- a/ext/libarmips.vcxproj +++ b/ext/libarmips.vcxproj @@ -206,7 +206,7 @@ true ProgramDatabase - stdcpp17 + stdcpp20 Windows @@ -227,7 +227,7 @@ true ProgramDatabase - stdcpp17 + stdcpp20 Windows @@ -248,7 +248,7 @@ true ProgramDatabase - stdcpp17 + stdcpp20 Windows @@ -264,7 +264,7 @@ Disabled WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;ARMIPS_USE_STD_FILESYSTEM;%(PreprocessorDefinitions) armips - stdcpp17 + stdcpp20 Windows @@ -277,7 +277,7 @@ Disabled WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;ARMIPS_USE_STD_FILESYSTEM;%(PreprocessorDefinitions) armips - stdcpp17 + stdcpp20 Windows @@ -290,7 +290,7 @@ Disabled WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;ARMIPS_USE_STD_FILESYSTEM;%(PreprocessorDefinitions) armips - stdcpp17 + stdcpp20 Windows @@ -309,7 +309,7 @@ true false ProgramDatabase - stdcpp17 + stdcpp20 Size StreamingSIMDExtensions2 @@ -334,7 +334,7 @@ true false ProgramDatabase - stdcpp17 + stdcpp20 Size @@ -358,7 +358,7 @@ true false ProgramDatabase - stdcpp17 + stdcpp20 Size diff --git a/ext/native/tools/atlastool/atlastool.vcxproj b/ext/native/tools/atlastool/atlastool.vcxproj index 4f192e0e68..6212b45f5a 100644 --- a/ext/native/tools/atlastool/atlastool.vcxproj +++ b/ext/native/tools/atlastool/atlastool.vcxproj @@ -114,7 +114,7 @@ _CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDebug - stdcpp17 + stdcpp20 ../../../../;../../ext;../../;../../../../ext;../../../../ext/zstd/lib;../../../../ext/freetype/include @@ -134,7 +134,7 @@ _CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDebug - stdcpp17 + stdcpp20 ../../../../;../../ext;../../;../../../../ext;../../../../ext/zstd/lib;../../../../ext/freetype/include @@ -157,7 +157,7 @@ true ../../../../;../../ext;../../;../../../../ext;../../../../ext/zstd/lib;../../../../ext/freetype/include MultiThreaded - stdcpp17 + stdcpp20 Console @@ -181,7 +181,7 @@ true ../../../../;../../ext;../../;../../../../ext;../../../../ext/zstd/lib;../../../../ext/freetype/include MultiThreaded - stdcpp17 + stdcpp20 Console diff --git a/ext/native/tools/zimtool/zimtool.vcxproj b/ext/native/tools/zimtool/zimtool.vcxproj index b6ec2bdcda..b24d2f8b9d 100644 --- a/ext/native/tools/zimtool/zimtool.vcxproj +++ b/ext/native/tools/zimtool/zimtool.vcxproj @@ -113,7 +113,7 @@ true ../../../../;../../ext;../../;../../../../ext;../prebuilt MultiThreaded - stdcpp17 + stdcpp20 Console @@ -136,7 +136,7 @@ true ../../../../;../../ext;../../;../../../../ext;../prebuilt MultiThreaded - stdcpp17 + stdcpp20 Console @@ -157,7 +157,7 @@ true ../../../../;../../ext;../../;../../../../ext;../prebuilt MultiThreadedDebug - stdcpp17 + stdcpp20 Console @@ -176,7 +176,7 @@ true ../../../../;../../ext;../../;../../../../ext;../prebuilt MultiThreadedDebug - stdcpp17 + stdcpp20 Console diff --git a/headless/Headless.vcxproj b/headless/Headless.vcxproj index c8f376dda8..3f556dc36e 100644 --- a/headless/Headless.vcxproj +++ b/headless/Headless.vcxproj @@ -145,7 +145,7 @@ MultiThreadedDebug Common/DbgNew.h ProgramDatabase - stdcpp17 + stdcpp20 Console @@ -177,7 +177,7 @@ MultiThreadedDebug Common/DbgNew.h ProgramDatabase - stdcpp17 + stdcpp20 Console @@ -207,7 +207,7 @@ MultiThreadedDebug Common/DbgNew.h ProgramDatabase - stdcpp17 + stdcpp20 Console @@ -237,7 +237,7 @@ true MultiThreaded ProgramDatabase - stdcpp17 + stdcpp20 Console @@ -274,7 +274,7 @@ MultiThreaded true ProgramDatabase - stdcpp17 + stdcpp20 Console @@ -309,7 +309,7 @@ MultiThreaded true ProgramDatabase - stdcpp17 + stdcpp20 Console diff --git a/libretro/Makefile b/libretro/Makefile index 3408ad1cee..57906a92ab 100644 --- a/libretro/Makefile +++ b/libretro/Makefile @@ -441,9 +441,9 @@ else endif ifeq (,$(findstring msvc,$(platform))) - CXXFLAGS += -std=c++17 + CXXFLAGS += -std=c++20 else - CXXFLAGS += -std:c++17 + CXXFLAGS += -std:c++20 endif ### Finalize ### diff --git a/libretro/jni/Android.mk b/libretro/jni/Android.mk index 368a9e6a7c..596f37bad1 100644 --- a/libretro/jni/Android.mk +++ b/libretro/jni/Android.mk @@ -48,7 +48,7 @@ include $(CORE_DIR)/libretro/Makefile.common COREFLAGS += -DINLINE="inline" -DPPSSPP -DUSE_FFMPEG -DWITH_UPNP -DMOBILE_DEVICE -DBAKE_IN_GIT -DDYNAREC -D__LIBRETRO__ -DUSING_GLES2 -D__STDC_CONSTANT_MACROS -DGLEW_NO_GLU -DMINIUPNP_STATICLIB $(INCFLAGS) LOCAL_SRC_FILES = $(SOURCES_CXX) $(SOURCES_C) $(ASMFILES) -LOCAL_CPPFLAGS := -Wall -std=c++17 $(COREFLAGS) -DSPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS $(DEFINES) +LOCAL_CPPFLAGS := -Wall -std=c++20 $(COREFLAGS) -DSPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS $(DEFINES) LOCAL_CFLAGS := -O2 -DANDROID $(COREFLAGS) $(DEFINES) LOCAL_LDLIBS += -lz -landroid -lGLESv2 -lOpenSLES -lEGL -ldl -llog -latomic LOCAL_STATIC_LIBRARIES += libffmpeg diff --git a/unittest/UnitTests.vcxproj b/unittest/UnitTests.vcxproj index 639910abbe..bbf623ea11 100644 --- a/unittest/UnitTests.vcxproj +++ b/unittest/UnitTests.vcxproj @@ -137,7 +137,7 @@ MultiThreadedDebug Common/DbgNew.h ProgramDatabase - stdcpp17 + stdcpp20 Console @@ -159,7 +159,7 @@ false Common/DbgNew.h ProgramDatabase - stdcpp17 + stdcpp20 Console @@ -181,7 +181,7 @@ false Common/DbgNew.h ProgramDatabase - stdcpp17 + stdcpp20 Console @@ -206,7 +206,7 @@ MultiThreaded ProgramDatabase StreamingSIMDExtensions2 - stdcpp17 + stdcpp20 Console @@ -234,7 +234,7 @@ Size false ProgramDatabase - stdcpp17 + stdcpp20 Console @@ -262,7 +262,7 @@ Size false ProgramDatabase - stdcpp17 + stdcpp20 Console