__builtin_unreachable() seems not emit runtime error
This commit is contained in:
parent
d52dfad671
commit
339e8e8419
|
@ -104,7 +104,7 @@ pic_alloca_cont(pic_state *pic)
|
||||||
}
|
}
|
||||||
|
|
||||||
static pic_value
|
static pic_value
|
||||||
values(pic_state *pic, int argc, pic_value *argv)
|
valuesk(pic_state *pic, int argc, pic_value *argv)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ pic_callcc(pic_state *pic, pic_value proc)
|
||||||
volatile struct cont *cont = pic_alloca_cont(pic);
|
volatile struct cont *cont = pic_alloca_cont(pic);
|
||||||
|
|
||||||
if (PIC_SETJMP(pic, jmp)) {
|
if (PIC_SETJMP(pic, jmp)) {
|
||||||
return values(pic, cont->retc, cont->retv);
|
return valuesk(pic, cont->retc, cont->retv);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
pic_value val;
|
pic_value val;
|
||||||
|
@ -159,7 +159,7 @@ pic_vvalues(pic_state *pic, int n, va_list ap)
|
||||||
for (i = 0; i < n; ++i) {
|
for (i = 0; i < n; ++i) {
|
||||||
retv[i] = va_arg(ap, pic_value);
|
retv[i] = va_arg(ap, pic_value);
|
||||||
}
|
}
|
||||||
return values(pic, n, retv);
|
return valuesk(pic, n, retv);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -196,7 +196,7 @@ pic_cont_values(pic_state *pic)
|
||||||
|
|
||||||
pic_get_args(pic, "*", &argc, &argv);
|
pic_get_args(pic, "*", &argc, &argv);
|
||||||
|
|
||||||
return values(pic, argc, argv);
|
return valuesk(pic, argc, argv);
|
||||||
}
|
}
|
||||||
|
|
||||||
static pic_value
|
static pic_value
|
||||||
|
|
|
@ -173,7 +173,7 @@ typedef unsigned long uint32_t;
|
||||||
# define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
|
# define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
|
||||||
#endif
|
#endif
|
||||||
#if GCC_VERSION >= 40500 || __clang__
|
#if GCC_VERSION >= 40500 || __clang__
|
||||||
# define PIC_UNREACHABLE() (__builtin_unreachable())
|
# define PIC_UNREACHABLE() (assert(false), __builtin_unreachable())
|
||||||
#else
|
#else
|
||||||
# define PIC_UNREACHABLE() (assert(false))
|
# define PIC_UNREACHABLE() (assert(false))
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue