1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-29 19:30:36 +02:00
guile/m4/labels-as-values.m4
Michael Gran 2b73ef4deb Modernizes labels-as-values.m4
labels-as-values.m4 uses deprecated AC_TRY_COMPILE and has
a K&R-type C function declaration

* m4/labels-as-values.m4: updated
2022-10-14 08:40:23 -07:00

21 lines
631 B
Text

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
])