12345678910111213141516171819202122 |
- dnl check for gcc's "labels as values" feature
- AC_DEFUN([AC_C_LABELS_AS_VALUES],
- [AC_CACHE_CHECK([labels as values], ac_cv_labels_as_values,
- [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- int foo(int);
- int foo(int i) {
- static void *label[] = { &&l1, &&l2 };
- goto *label[i];
- l1: return 1;
- l2: return 2;
- }
- ]],
- [[foo(1);]])],
- [ac_cv_labels_as_values=yes],
- [ac_cv_labels_as_values=no])])
- if test "$ac_cv_labels_as_values" = yes; then
- AC_DEFINE([HAVE_LABELS_AS_VALUES], [],
- [Define if compiler supports gcc's "labels as values" (aka computed goto)
- feature, used to speed up instruction dispatch in the interpreter.])
- fi
- ])
|