check for alloca
diff --git a/asn1c/sys-common.h b/asn1c/sys-common.h
index cac71c0..9ab1e6b 100644
--- a/asn1c/sys-common.h
+++ b/asn1c/sys-common.h
@@ -64,7 +64,9 @@
#ifndef EX_OSFILE
#define EX_OSFILE 72
#endif
+#if defined HAVE_DECL_ALLOCA && !HAVE_DECL_ALLOCA
#define alloca _alloca
+#endif
#define snprintf _snprintf
#endif /* _WIN32 */
diff --git a/configure.ac b/configure.ac
index 78eee75..558acab 100644
--- a/configure.ac
+++ b/configure.ac
@@ -66,6 +66,7 @@
AC_CHECK_FUNCS(strtoimax strtoll)
AC_CHECK_FUNCS(mergesort)
AC_CHECK_FUNCS(mkstemps)
+AC_CHECK_DECL(alloca)
AC_TRY_LINK_FUNC([symlink],[AC_DEFINE([HAVE_SYMLINK], 1, [Define to 1 if you have the symlink function.])])
AC_OUTPUT( \