diff --git a/rpcs3/Emu/Cell/lv2/sys_vm.cpp b/rpcs3/Emu/Cell/lv2/sys_vm.cpp index bb684e3a03..cfc93feb2b 100644 --- a/rpcs3/Emu/Cell/lv2/sys_vm.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_vm.cpp @@ -1,5 +1,7 @@ #include "stdafx.h" #include "sys_vm.h" + +#include "Emu/IdManager.h" #include "Emu/Cell/PPUThread.h" #include "Emu/Memory/vm_locking.h" @@ -15,8 +17,11 @@ sys_vm_t::sys_vm_t(u32 _addr, u32 vsize, lv2_memory_container* ct, u32 psize) sys_vm_t::~sys_vm_t() { + // Debug build : gcc and clang can not find the static var if retrieved directly in "release" function + constexpr auto invalid = id_manager::id_traits::invalid; + // Free ID - g_ids[addr >> 28].release(id_manager::id_traits::invalid); + g_ids[addr >> 28].release(invalid); } LOG_CHANNEL(sys_vm); diff --git a/rpcs3/Emu/Cell/lv2/sys_vm.h b/rpcs3/Emu/Cell/lv2/sys_vm.h index cd2d899de4..45b6429be6 100644 --- a/rpcs3/Emu/Cell/lv2/sys_vm.h +++ b/rpcs3/Emu/Cell/lv2/sys_vm.h @@ -2,7 +2,6 @@ #include "Emu/Memory/vm_ptr.h" #include "Emu/Cell/ErrorCodes.h" -#include "Emu/IdManager.h" #include "sys_memory.h" #include