diff --git a/include/Zydis/Defines.h b/include/Zydis/Defines.h index 1f34fa0..760afba 100644 --- a/include/Zydis/Defines.h +++ b/include/Zydis/Defines.h @@ -129,12 +129,14 @@ #endif #if defined(ZYDIS_RELEASE) -# if defined(ZYDIS_GNUC) +# if defined(ZYDIS_CLANG) // GCC eagerly evals && RHS, we have to use nested ifs. # if __has_builtin(__builtin_unreachable) # define ZYDIS_UNREACHABLE __builtin_unreachable() # else # define ZYDIS_UNREACHABLE # endif +# elif defined(ZYDIS_GCC) && ((__GNUC__ == 4 && __GNUC_MINOR__ > 4) || __GNUC__ > 4) +# define ZYDIS_UNREACHABLE __builtin_unreachable() # elif defined(ZYDIS_MSVC) # define ZYDIS_UNREACHABLE __assume(0) # else