Skip to content
Snippets Groups Projects
Commit 0c80cb39 authored by Damien George's avatar Damien George
Browse files

py: Introduce MP_UNREACHABLE macro to annotate unreachable code.

And use it to replace the same pattern at the end of nlrthumb.c:nlr_jump.
parent af5c998f
No related branches found
No related tags found
No related merge requests found
......@@ -1527,6 +1527,15 @@ typedef double mp_float_t;
#define MP_UNLIKELY(x) __builtin_expect((x), 0)
#endif
// To annotate that code is unreachable
#ifndef MP_UNREACHABLE
#if defined(__GNUC__)
#define MP_UNREACHABLE __builtin_unreachable();
#else
#define MP_UNREACHABLE for (;;);
#endif
#endif
#ifndef MP_HTOBE16
#if MP_ENDIANNESS_LITTLE
# define MP_HTOBE16(x) ((uint16_t)( (((x) & 0xff) << 8) | (((x) >> 8) & 0xff) ))
......
......@@ -135,11 +135,7 @@ NORETURN void nlr_jump(void *val) {
: // clobbered registers
);
#if defined(__GNUC__)
__builtin_unreachable();
#else
for (;;); // needed to silence compiler warning
#endif
MP_UNREACHABLE
}
#endif // MICROPY_NLR_THUMB
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment