1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-29 22:40:34 +02:00

Fix `alloca' on FreeBSD 6.

This commit is contained in:
Ludovic Courtès 2008-03-10 22:13:33 +00:00
parent 607dc3105d
commit d412e58c1f
4 changed files with 43 additions and 30 deletions

3
NEWS
View file

@ -20,7 +20,8 @@ would trigger an unbound variable error for `match:andmap'.
** Fixed build issues on NetBSD 1.6 ** Fixed build issues on NetBSD 1.6
** Fixed build issue on Solaris 2.10 x86_64 ** Fixed build issue on Solaris 2.10 x86_64
** Fixed build issue with DEC/Compaq/HP's compiler ** Fixed build issue with DEC/Compaq/HP's compiler
** Fixed scm_from_complex_double build issue on FreeBSD ** Fixed `scm_from_complex_double' build issue on FreeBSD
** Fixed `alloca' build issue on FreeBSD 6
* Changes to the distribution * Changes to the distribution

View file

@ -1,3 +1,9 @@
2008-03-10 Ludovic Courtès <ludo@gnu.org>
* eval.c, filesys.c: Enclose `alloca' blob in `#ifndef alloca',
as per Gnulib's `alloca'. This should fix compilation on
FreeBSD 6.
2008-03-09 Neil Jerram <neil@ossau.uklinux.net> 2008-03-09 Neil Jerram <neil@ossau.uklinux.net>
* numbers.c: Only define scm_from_complex_double if it will * numbers.c: Only define scm_from_complex_double if it will

View file

@ -37,22 +37,25 @@
#ifndef DEVAL #ifndef DEVAL
/* This blob per the Autoconf manual (under "Particular Functions"). */ /* This blob per the Autoconf manual (under "Particular Functions"), updated
#if HAVE_ALLOCA_H to match that of Gnulib. */
# include <alloca.h> #ifndef alloca
#elif defined __GNUC__ # if HAVE_ALLOCA_H
# define alloca __builtin_alloca # include <alloca.h>
#elif defined _AIX # elif defined __GNUC__
# define alloca __alloca # define alloca __builtin_alloca
#elif defined _MSC_VER # elif defined _AIX
# include <malloc.h> # define alloca __alloca
# define alloca _alloca # elif defined _MSC_VER
#else # include <malloc.h>
# include <stddef.h> # define alloca _alloca
# ifdef __cplusplus # else
# include <stddef.h>
# ifdef __cplusplus
extern "C" extern "C"
# endif # endif
void *alloca (size_t); void *alloca (size_t);
# endif
#endif #endif
#include <assert.h> #include <assert.h>

View file

@ -1,4 +1,4 @@
/* Copyright (C) 1996,1997,1998,1999,2000,2001, 2002, 2004, 2006 Free Software Foundation, Inc. /* Copyright (C) 1996,1997,1998,1999,2000,2001, 2002, 2004, 2006, 2008 Free Software Foundation, Inc.
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
@ -29,22 +29,25 @@
# include <config.h> # include <config.h>
#endif #endif
/* This blob per the Autoconf manual (under "Particular Functions"). */ /* This blob per the Autoconf manual (under "Particular Functions"), updated
#if HAVE_ALLOCA_H to match that of Gnulib. */
# include <alloca.h> #ifndef alloca
#elif defined __GNUC__ # if HAVE_ALLOCA_H
# define alloca __builtin_alloca # include <alloca.h>
#elif defined _AIX # elif defined __GNUC__
# define alloca __alloca # define alloca __builtin_alloca
#elif defined _MSC_VER # elif defined _AIX
# include <malloc.h> # define alloca __alloca
# define alloca _alloca # elif defined _MSC_VER
#else # include <malloc.h>
# include <stddef.h> # define alloca _alloca
# ifdef __cplusplus # else
# include <stddef.h>
# ifdef __cplusplus
extern "C" extern "C"
# endif # endif
void *alloca (size_t); void *alloca (size_t);
# endif
#endif #endif
#include <stdio.h> #include <stdio.h>