diff --git a/rpcs3/Emu/Memory/vm_ref.h b/rpcs3/Emu/Memory/vm_ref.h index ad238223e7..65047cabf1 100644 --- a/rpcs3/Emu/Memory/vm_ref.h +++ b/rpcs3/Emu/Memory/vm_ref.h @@ -61,25 +61,25 @@ namespace vm //BE reference to LE data template struct brefl : public _ref_base::type> { - using _ref_base::operator=; + using _ref_base::type>::operator=; }; //BE reference to BE data template struct brefb : public _ref_base::type, typename to_be_t::type> { - using _ref_base::operator=; + using _ref_base::type, typename to_be_t::type>::operator=; }; //LE reference to BE data template struct lrefb : public _ref_base::type, AT> { - using _ref_base::operator=; + using _ref_base::type, AT>::operator=; }; //LE reference to LE data template struct lrefl : public _ref_base { - using _ref_base::operator=; + using _ref_base::operator=; }; namespace ps3 @@ -87,13 +87,13 @@ namespace vm //default reference for HLE functions (LE reference to BE data) template struct ref : public lrefb { - using _ref_base::operator=; + using lrefb::operator=; }; //default reference for HLE structures (BE reference to BE data) template struct bref : public brefb { - using _ref_base::operator=; + using brefb::operator=; }; } diff --git a/rpcs3/Emu/SysCalls/lv2/sys_semaphore.cpp b/rpcs3/Emu/SysCalls/lv2/sys_semaphore.cpp index 52ff26cbbc..858bd25940 100644 --- a/rpcs3/Emu/SysCalls/lv2/sys_semaphore.cpp +++ b/rpcs3/Emu/SysCalls/lv2/sys_semaphore.cpp @@ -11,7 +11,7 @@ SysCallBase sys_semaphore("sys_semaphore"); -s32 sys_semaphore_create(vm::ptr> sem, mem_ptr_t attr, int initial_count, int max_count) +s32 sys_semaphore_create(vm::ref sem, mem_ptr_t attr, int initial_count, int max_count) { sys_semaphore.Warning("sys_semaphore_create(sem_addr=0x%x, attr_addr=0x%x, initial_count=%d, max_count=%d)", sem.addr(), attr.GetAddr(), initial_count, max_count); @@ -38,7 +38,7 @@ s32 sys_semaphore_create(vm::ptr> sem, mem_ptr_tprotocol, attr->name_u64), TYPE_SEMAPHORE); - *sem = id; + sem = id; sys_semaphore.Notice("*** semaphore created [%s] (protocol=0x%x): id = %d", std::string(attr->name, 8).c_str(), (u32)attr->protocol, id); diff --git a/rpcs3/Emu/SysCalls/lv2/sys_semaphore.h b/rpcs3/Emu/SysCalls/lv2/sys_semaphore.h index a27691405a..079c9c4130 100644 --- a/rpcs3/Emu/SysCalls/lv2/sys_semaphore.h +++ b/rpcs3/Emu/SysCalls/lv2/sys_semaphore.h @@ -38,7 +38,7 @@ struct Semaphore }; // SysCalls -s32 sys_semaphore_create(vm::ptr> sem, mem_ptr_t attr, int initial_count, int max_count); +s32 sys_semaphore_create(vm::ref sem, mem_ptr_t attr, int initial_count, int max_count); s32 sys_semaphore_destroy(u32 sem_id); s32 sys_semaphore_wait(u32 sem_id, u64 timeout); s32 sys_semaphore_trywait(u32 sem_id);