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-FileCopyrightText: Copyright 2021 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
|
||||
#include "common/assert.h"
|
#include "common/assert.h"
|
||||
#include "common/common_funcs.h"
|
#include "common/common_funcs.h"
|
||||
#include "common/logging/backend.h"
|
#include "common/logging/backend.h"
|
||||
|
|
||||
#include "common/settings.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) { |
if (Settings::values.use_debug_asserts) { |
||||
Common::Log::Stop(); |
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(); |
Common::Log::Stop(); |
||||
Crash(); |
|
||||
throw std::runtime_error("Unreachable code"); |
|
||||
|
std::abort(); |
||||
} |
} |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue