Port yuzu-emu/yuzu#4577: "common/assert: Make use of C++ attribute syntax" (#5529)

Co-authored-by: Lioncash <mathew1800@gmail.com>
This commit is contained in:
Tobias 2020-09-02 17:25:31 +02:00 committed by GitHub
parent 2f01046f77
commit 66846836bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -17,11 +17,12 @@
// enough for our purposes. // enough for our purposes.
template <typename Fn> template <typename Fn>
#if defined(_MSC_VER) #if defined(_MSC_VER)
__declspec(noinline, noreturn) [[msvc::noinline, noreturn]]
#elif defined(__GNUC__) #elif defined(__GNUC__)
__attribute__((noinline, noreturn, cold)) [[gnu::cold, gnu::noinline, noreturn]]
#endif #endif
static void assert_noinline_call(const Fn& fn) { static void
assert_noinline_call(const Fn& fn) {
fn(); fn();
Crash(); Crash();
exit(1); // Keeps GCC's mouth shut about this actually returning exit(1); // Keeps GCC's mouth shut about this actually returning