protonscr

../dxvk-async-9999/src/d3d10/d3d10_multithread.cpp:50:17: error: 'exchange' is not a member of 'std'

dxvkclosed
doitsujin/dxvk#2272 · opened 2021-09-02 by shoober420 · updated 2021-09-03 · 2 comments · github
1 matching comments, n / p to jump
Sshoober420 2021-09-02 github

Software information

Gentoo Linux / GCC 12 git master (https://github.com/gcc-mirror/gcc/commit/6e16b2123dd1cf5bab23cda0ce65223e5d55eded)

System information

Log files

builddxvk2.log

Similar to https://github.com/doitsujin/dxvk/issues/2269, Im experiencing an error using GCC 12 version when compiling, but now in a different spot. The async patch has been disabled. Here is a snippet of the error.

[199/272] i686-w64-mingw32-g++ -Isrc/d3d11/d3d11.dll.p -Isrc/d3d11 -I../dxvk-async-9999/src/d3d11 -I../dxvk-async-9999/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -D_WIN32_WINNT=0xa00 -msse -msse2 -msse3 -mfpmath=sse -march=native -O2 -pipe -w -mno-avx -MD -MQ src/d3d11/d3d11.dll.p/.._d3d10_d3d10_multithread.cpp.obj -MF src/d3d11/d3d11.dll.p/.._d3d10_d3d10_multithread.cpp.obj.d -o src/d3d11/d3d11.dll.p/.._d3d10_d3d10_multithread.cpp.obj -c ../dxvk-async-9999/src/d3d10/d3d10_multithread.cpp
FAILED: src/d3d11/d3d11.dll.p/.._d3d10_d3d10_multithread.cpp.obj 
i686-w64-mingw32-g++ -Isrc/d3d11/d3d11.dll.p -Isrc/d3d11 -I../dxvk-async-9999/src/d3d11 -I../dxvk-async-9999/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -D_WIN32_WINNT=0xa00 -msse -msse2 -msse3 -mfpmath=sse -march=native -O2 -pipe -w -mno-avx -MD -MQ src/d3d11/d3d11.dll.p/.._d3d10_d3d10_multithread.cpp.obj -MF src/d3d11/d3d11.dll.p/.._d3d10_d3d10_multithread.cpp.obj.d -o src/d3d11/d3d11.dll.p/.._d3d10_d3d10_multithread.cpp.obj -c ../dxvk-async-9999/src/d3d10/d3d10_multithread.cpp
../dxvk-async-9999/src/d3d10/d3d10_multithread.cpp: In member function 'virtual BOOL dxvk::D3D10Multithread::SetMultithreadProtected(BOOL)':
../dxvk-async-9999/src/d3d10/d3d10_multithread.cpp:50:17: error: 'exchange' is not a member of 'std'
   50 |     return std::exchange(m_protected, bMTProtect);
      |                 ^~~~~~~~
Ddoitsujin maintainer 2021-09-02 github

Can you please file a PR that adds missing #include <utility> to files until it compiles? I don't have a GCC 12 system right now to test this on and I don't want to deal with 50 more of these issues.

Sshoober420 2021-09-02 github

I made a pull request, which happens to be the only remaining #include <utility> that is missing.

https://github.com/doitsujin/dxvk/pull/2273

Upstream links

DLLs