Browse Source
[common] Do not expose platform specific Crash() macro that is only used ever once (#2909)
[common] Do not expose platform specific Crash() macro that is only used ever once (#2909)
thing is only ever used once and its also platform specific... uh Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2909 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>pull/2948/head
committed by
crueter
No known key found for this signature in database
GPG Key ID: 425ACD2D4830EBC6
3 changed files with 37 additions and 38 deletions
@ -1,21 +1,35 @@ |
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
|||
// SPDX-License-Identifier: GPL-3.0-or-later
|
|||
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later
|
|||
|
|||
#include "common/assert.h"
|
|||
#include "common/common_funcs.h"
|
|||
#include "common/logging/backend.h"
|
|||
|
|||
#include "common/settings.h"
|
|||
|
|||
void assert_fail_impl() { |
|||
#ifdef _MSC_VER
|
|||
extern "C" { |
|||
__declspec(dllimport) void __stdcall DebugBreak(void); |
|||
} |
|||
#endif
|
|||
void AssertFailSoftImpl() { |
|||
if (Settings::values.use_debug_asserts) { |
|||
Common::Log::Stop(); |
|||
Crash(); |
|||
#ifndef _MSC_VER
|
|||
# if defined(ARCHITECTURE_x86_64)
|
|||
__asm__ __volatile__("int $3"); |
|||
# elif defined(ARCHITECTURE_arm64)
|
|||
__asm__ __volatile__("brk #0"); |
|||
# else
|
|||
exit(1); |
|||
# endif
|
|||
#else // POSIX ^^^ _MSC_VER vvv
|
|||
DebugBreak(); |
|||
#endif
|
|||
} |
|||
} |
|||
|
|||
[[noreturn]] void unreachable_impl() { |
|||
void AssertFatalImpl() { |
|||
Common::Log::Stop(); |
|||
Crash(); |
|||
throw std::runtime_error("Unreachable code"); |
|||
std::abort(); |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue