__builtin_unreachable() seems not emit runtime error

This commit is contained in:
Yuichi Nishiwaki 2017-04-09 17:23:35 +09:00
parent d52dfad671
commit 339e8e8419
2 changed files with 5 additions and 5 deletions

View File

@ -104,7 +104,7 @@ pic_alloca_cont(pic_state *pic)
}
static pic_value
values(pic_state *pic, int argc, pic_value *argv)
valuesk(pic_state *pic, int argc, pic_value *argv)
{
int i;
@ -123,7 +123,7 @@ pic_callcc(pic_state *pic, pic_value proc)
volatile struct cont *cont = pic_alloca_cont(pic);
if (PIC_SETJMP(pic, jmp)) {
return values(pic, cont->retc, cont->retv);
return valuesk(pic, cont->retc, cont->retv);
}
else {
pic_value val;
@ -159,7 +159,7 @@ pic_vvalues(pic_state *pic, int n, va_list ap)
for (i = 0; i < n; ++i) {
retv[i] = va_arg(ap, pic_value);
}
return values(pic, n, retv);
return valuesk(pic, n, retv);
}
int
@ -196,7 +196,7 @@ pic_cont_values(pic_state *pic)
pic_get_args(pic, "*", &argc, &argv);
return values(pic, argc, argv);
return valuesk(pic, argc, argv);
}
static pic_value

View File

@ -173,7 +173,7 @@ typedef unsigned long uint32_t;
# define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#endif
#if GCC_VERSION >= 40500 || __clang__
# define PIC_UNREACHABLE() (__builtin_unreachable())
# define PIC_UNREACHABLE() (assert(false), __builtin_unreachable())
#else
# define PIC_UNREACHABLE() (assert(false))
#endif