diff --git a/src/backend_x64/callback.cpp b/src/backend_x64/callback.cpp index 4b2aee30..c868bfb1 100644 --- a/src/backend_x64/callback.cpp +++ b/src/backend_x64/callback.cpp @@ -9,6 +9,8 @@ namespace Dynarmic::BackendX64 { +Callback::~Callback() = default; + void SimpleCallback::EmitCall(BlockOfCode& code, std::function l) const { l({code.ABI_PARAM1, code.ABI_PARAM2, code.ABI_PARAM3, code.ABI_PARAM4}); code.CallFunction(fn); diff --git a/src/backend_x64/callback.h b/src/backend_x64/callback.h index 2d474649..05beb66a 100644 --- a/src/backend_x64/callback.h +++ b/src/backend_x64/callback.h @@ -21,7 +21,7 @@ class BlockOfCode; class Callback { public: - virtual ~Callback() = default; + virtual ~Callback(); virtual void EmitCall(BlockOfCode& code, std::function fn = [](RegList){}) const = 0; virtual void EmitCallWithReturnPointer(BlockOfCode& code, std::function fn) const = 0; @@ -32,8 +32,6 @@ public: template SimpleCallback(Function fn) : fn(reinterpret_cast(fn)) {} - ~SimpleCallback() override = default; - void EmitCall(BlockOfCode& code, std::function fn = [](RegList){}) const override; void EmitCallWithReturnPointer(BlockOfCode& code, std::function fn) const override; @@ -46,8 +44,6 @@ public: template ArgCallback(Function fn, u64 arg) : fn(reinterpret_cast(fn)), arg(arg) {} - ~ArgCallback() override = default; - void EmitCall(BlockOfCode& code, std::function fn = [](RegList){}) const override; void EmitCallWithReturnPointer(BlockOfCode& code, std::function fn) const override;