32-way branching in intmap.scm, not 16-way
[bpt/guile.git] / m4 / labels-as-values.m4
CommitLineData
659b4611 1dnl check for gcc's "labels as values" feature
515bc968 2AC_DEFUN([AC_C_LABELS_AS_VALUES],
659b4611
AW
3[AC_CACHE_CHECK([labels as values], ac_cv_labels_as_values,
4[AC_TRY_COMPILE([
5int foo(int);
6int foo(i)
7int i; {
8static void *label[] = { &&l1, &&l2 };
9goto *label[i];
10l1: return 1;
11l2: return 2;
12}
13],
14[int i;],
15ac_cv_labels_as_values=yes,
16ac_cv_labels_as_values=no)])
17if test "$ac_cv_labels_as_values" = yes; then
515bc968 18AC_DEFINE([HAVE_LABELS_AS_VALUES], [],
659b4611
AW
19 [Define if compiler supports gcc's "labels as values" (aka computed goto)
20 feature, used to speed up instruction dispatch in the interpreter.])
21fi
22])