diff options
| author | 2019-10-05 10:45:01 -0400 | |
|---|---|---|
| committer | 2019-11-23 01:30:06 +0100 | |
| commit | 9a60d8a43047981640318990aebe31b1d99107fe (patch) | |
| tree | c7f1a09cea335f5032533553aadc3508a08270a6 /src/common/assert.h | |
| parent | Merge pull request #3140 from FearlessTobi/port-4953 (diff) | |
| download | yuzu-9a60d8a43047981640318990aebe31b1d99107fe.tar.gz yuzu-9a60d8a43047981640318990aebe31b1d99107fe.tar.xz yuzu-9a60d8a43047981640318990aebe31b1d99107fe.zip | |
unfold UNREACHABLE implementation for dumb compilers
We relies on UNREACHABLE's noreturn attribute to eliminate parent's "no return value" warning. However, this was wrapped in a `if(!false)` block, which compilers may not unfold to recognize the noreturn nature.
Diffstat (limited to 'src/common/assert.h')
| -rw-r--r-- | src/common/assert.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/common/assert.h b/src/common/assert.h index 4b0e3f64e..3b4d92b30 100644 --- a/src/common/assert.h +++ b/src/common/assert.h | |||
| @@ -41,8 +41,8 @@ __declspec(noinline, noreturn) | |||
| 41 | } \ | 41 | } \ |
| 42 | while (0) | 42 | while (0) |
| 43 | 43 | ||
| 44 | #define UNREACHABLE() ASSERT_MSG(false, "Unreachable code!") | 44 | #define UNREACHABLE() assert_noinline_call([] { LOG_CRITICAL(Debug, "Unreachable code!"); }) |
| 45 | #define UNREACHABLE_MSG(...) ASSERT_MSG(false, __VA_ARGS__) | 45 | #define UNREACHABLE_MSG(...) assert_noinline_call([] { LOG_CRITICAL(Debug, "Unreachable code!\n" __VA_ARGS__); }) |
| 46 | 46 | ||
| 47 | #ifdef _DEBUG | 47 | #ifdef _DEBUG |
| 48 | #define DEBUG_ASSERT(_a_) ASSERT(_a_) | 48 | #define DEBUG_ASSERT(_a_) ASSERT(_a_) |