Project

General

Profile

Actions

Emulator Issues #11770

closed

VS 2019 16.3 deprecates experimental/filesystem.

Added by STL_MSFT almost 5 years ago. Updated almost 5 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
Windows
Issue type:
Bug
Milestone:
Current
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
Yes
Regression start:
Fixed in:
5.0-10523

Description

I work on Microsoft Visual Studio's C++ Standard Library implementation, and we regularly build Dolphin as part of our test suite. I recently checked in a change that will ship in VS 2019 16.3, which will require a code change in Dolphin. Specifically, <experimental/filesystem> will be deprecated via an impossible-to-miss preprocessor "#error The <experimental/filesystem> header providing std::experimental::filesystem is deprecated by Microsoft and will be REMOVED. It is superseded by the C++17 <filesystem> header providing std::filesystem. You can define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING to acknowledge that you have received this warning."

Currently, I observe that Dolphin includes <experimental/filesystem> in two places:

C:\Temp\RWC\src>grep -rP "include.*filesystem" *
Source/Core/Common/FileSearch.cpp:#include <experimental/filesystem>
Source/Core/Core/Boot/Boot.cpp:#include <experimental/filesystem>

In the short term, Dolphin should define the silencing macro _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING before including <experimental/filesystem>. (This has no effect for other platforms or toolset versions.) In the long term, Dolphin should switch to using C++17 <filesystem> and std::filesystem, which first shipped in VS 2017 15.7.

Actions

Also available in: Atom PDF