Просмотр исходного кода

Merge pull request #3153 from FearlessTobi/port-4964

Port citra-emu/citra#4964: "Unfold UNREACHABLE implementation for dumb compilers"
bunnei 6 лет назад
Родитель
Сommit
ec8bfe94a7
1 измененных файлов с 3 добавлено и 2 удалено
  1. 3 2
      src/common/assert.h

+ 3 - 2
src/common/assert.h

@@ -41,8 +41,9 @@ __declspec(noinline, noreturn)
         }                                                                                          \
         }                                                                                          \
     while (0)
     while (0)
 
 
-#define UNREACHABLE() ASSERT_MSG(false, "Unreachable code!")
-#define UNREACHABLE_MSG(...) ASSERT_MSG(false, __VA_ARGS__)
+#define UNREACHABLE() assert_noinline_call([] { LOG_CRITICAL(Debug, "Unreachable code!"); })
+#define UNREACHABLE_MSG(...)                                                                       \
+    assert_noinline_call([&] { LOG_CRITICAL(Debug, "Unreachable code!\n" __VA_ARGS__); })
 
 
 #ifdef _DEBUG
 #ifdef _DEBUG
 #define DEBUG_ASSERT(_a_) ASSERT(_a_)
 #define DEBUG_ASSERT(_a_) ASSERT(_a_)