aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFilippo Scognamiglio <flscogna@gmail.com>2020-10-31 17:40:05 +0100
committerGitHub <noreply@github.com>2020-10-31 17:40:05 +0100
commit45ea1fa9905d20d7c3a839e28f571aff0b3e76f5 (patch)
tree7382efd757716d331c743b5d1c91ee60399f3ab1 /src
parent9ac60a840a1447d583b32049dab4ab327dd3b65f (diff)
Fix compilation issues on pedantic cpp compilers. (#783)
* Fix compilation issues on pedantic cpp compilers. * Avoid using fullblown static function.
Diffstat (limited to 'src')
-rw-r--r--src/ARMJIT.cpp3
-rw-r--r--src/ARMJIT_A64/ARMJIT_Compiler.cpp9
-rw-r--r--src/ARMJIT_A64/ARMJIT_Compiler.h1
-rw-r--r--src/ARMJIT_x64/ARMJIT_Compiler.cpp10
4 files changed, 17 insertions, 6 deletions
diff --git a/src/ARMJIT.cpp b/src/ARMJIT.cpp
index c9d2b62..82f1d79 100644
--- a/src/ARMJIT.cpp
+++ b/src/ARMJIT.cpp
@@ -594,7 +594,8 @@ void CompileBlock(ARM* cpu)
u32 r15 = cpu->R[15];
u32 addressRanges[Config::JIT_MaxBlockSize];
- u32 addressMasks[Config::JIT_MaxBlockSize] = {0};
+ u32 addressMasks[Config::JIT_MaxBlockSize];
+ memset(addressMasks, 0, Config::JIT_MaxBlockSize * sizeof(u32));
u32 numAddressRanges = 0;
u32 numLiterals = 0;
diff --git a/src/ARMJIT_A64/ARMJIT_Compiler.cpp b/src/ARMJIT_A64/ARMJIT_Compiler.cpp
index 80c7f04..93563b9 100644
--- a/src/ARMJIT_A64/ARMJIT_Compiler.cpp
+++ b/src/ARMJIT_A64/ARMJIT_Compiler.cpp
@@ -68,6 +68,11 @@ void Compiler::A_Comp_MRS()
MOV(rd, RCPSR);
}
+void UpdateModeTrampoline(ARM* arm, u32 oldmode, u32 newmode)
+{
+ arm->UpdateMode(oldmode, newmode);
+}
+
void Compiler::A_Comp_MSR()
{
Comp_AddCycles_C();
@@ -139,7 +144,7 @@ void Compiler::A_Comp_MSR()
PushRegs(true);
- QuickCallFunction(X3, (void*)&ARM::UpdateMode);
+ QuickCallFunction(X3, (void*)&UpdateModeTrampoline);
PopRegs(true);
}
@@ -915,4 +920,4 @@ void Compiler::Comp_AddCycles_CD()
ConstantCycles += cycles;
}
-} \ No newline at end of file
+}
diff --git a/src/ARMJIT_A64/ARMJIT_Compiler.h b/src/ARMJIT_A64/ARMJIT_Compiler.h
index af7497a..ef40ea4 100644
--- a/src/ARMJIT_A64/ARMJIT_Compiler.h
+++ b/src/ARMJIT_A64/ARMJIT_Compiler.h
@@ -187,6 +187,7 @@ public:
void Comp_RegShiftReg(int op, bool S, Op2& op2, Arm64Gen::ARM64Reg rs);
bool Comp_MemLoadLiteral(int size, bool signExtend, int rd, u32 addr);
+
enum
{
memop_Writeback = 1 << 0,
diff --git a/src/ARMJIT_x64/ARMJIT_Compiler.cpp b/src/ARMJIT_x64/ARMJIT_Compiler.cpp
index c6419c9..9785ffc 100644
--- a/src/ARMJIT_x64/ARMJIT_Compiler.cpp
+++ b/src/ARMJIT_x64/ARMJIT_Compiler.cpp
@@ -101,6 +101,11 @@ void Compiler::A_Comp_MRS()
MOV(32, rd, R(RCPSR));
}
+void UpdateModeTrampoline(ARM* arm, u32 oldmode, u32 newmode)
+{
+ arm->UpdateMode(oldmode, newmode);
+}
+
void Compiler::A_Comp_MSR()
{
Comp_AddCycles_C();
@@ -185,7 +190,7 @@ void Compiler::A_Comp_MSR()
MOV(32, R(ABI_PARAM3), R(RCPSR));
MOV(32, R(ABI_PARAM2), R(RSCRATCH3));
MOV(64, R(ABI_PARAM1), R(RCPU));
- CALL((void*)&ARM::UpdateMode);
+ CALL((void*)&UpdateModeTrampoline);
PopRegs(true);
}
@@ -896,5 +901,4 @@ void Compiler::Comp_AddCycles_CD()
else
ConstantCycles += cycles;
}
-
-} \ No newline at end of file
+}