From 69a0aaebd4819da6599560fd391d6e6bc2996e9d Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sun, 6 May 2018 18:41:01 -0400 Subject: [PATCH] Gekko: Make UReg_FPSCR's single argument constructor explicit Prevent implicit conversions to UReg_FPSCR. Given the semantics of a random magic value and the FPSCR are different, make explicit conversions a requirement to signify intent. --- Source/Core/Core/PowerPC/Gekko.h | 2 +- Source/Core/Core/PowerPC/PowerPC.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Core/Core/PowerPC/Gekko.h b/Source/Core/Core/PowerPC/Gekko.h index cdb3777ae1..a046b883c2 100644 --- a/Source/Core/Core/PowerPC/Gekko.h +++ b/Source/Core/Core/PowerPC/Gekko.h @@ -475,7 +475,7 @@ union UReg_FPSCR u32 Hex = 0; UReg_FPSCR() = default; - UReg_FPSCR(u32 hex_) : Hex{hex_} {} + explicit UReg_FPSCR(u32 hex_) : Hex{hex_} {} }; // Hardware Implementation-Dependent Register 0 diff --git a/Source/Core/Core/PowerPC/PowerPC.cpp b/Source/Core/Core/PowerPC/PowerPC.cpp index 619c213333..b90de4d7f0 100644 --- a/Source/Core/Core/PowerPC/PowerPC.cpp +++ b/Source/Core/Core/PowerPC/PowerPC.cpp @@ -128,7 +128,7 @@ static void ResetRegisters() ppcState.spr[SPR_ECID_M] = 0x1840c00d; ppcState.spr[SPR_ECID_L] = 0x82bb08e8; - ppcState.fpscr = 0; + ppcState.fpscr.Hex = 0; ppcState.pc = 0; ppcState.npc = 0; ppcState.Exceptions = 0;