diff --git a/crnlib/crn_platform.h b/crnlib/crn_platform.h index 119d406..7d5137c 100644 --- a/crnlib/crn_platform.h +++ b/crnlib/crn_platform.h @@ -60,7 +60,11 @@ const bool c_crnlib_big_endian_platform = !c_crnlib_little_endian_platform; #define CRNLIB_BREAKPOINT DebugBreak(); #define CRNLIB_BUILTIN_EXPECT(c, v) c #elif defined(__GNUC__) -#define CRNLIB_BREAKPOINT asm("int $3"); + #if defined(__aarch64__) || defined(__arm__) || defined(__ARM_ARCH) + #define CRNLIB_BREAKPOINT __builtin_trap(); + #else + #define CRNLIB_BREAKPOINT asm("int $3"); + #endif #define CRNLIB_BUILTIN_EXPECT(c, v) __builtin_expect(c, v) #else #define CRNLIB_BREAKPOINT