re PR libgomp/25877 (team.c:269: warning: implicit declaration of function 'alloca')

PR libgomp/25877
	* configure.ac: Remove check for alloca.h.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* libgomp.h: define gomp_alloca to be __builtin_alloca.
	* team.c: Remove use of alloca.h.
	Call gomp_alloca instead of alloca.

From-SVN: r110068
This commit is contained in:
Steve Ellcey 2006-01-21 17:57:01 +00:00 committed by Steve Ellcey
parent 30cb87a09b
commit a55b8e1826
6 changed files with 18 additions and 12 deletions

View File

@ -1,3 +1,13 @@
2006-01-21 Steve Ellcey <sje@cup.hp.com>
PR libgomp/25877
* configure.ac: Remove check for alloca.h.
* configure: Regenerate.
* config.h.in: Regenerate.
* libgomp.h: define gomp_alloca to be __builtin_alloca.
* team.c: Remove use of alloca.h.
Call gomp_alloca instead of alloca.
2006-01-20 Steve Ellcey <sje@cup.hp.com>
PR libgomp/25877

View File

@ -1,8 +1,5 @@
/* config.h.in. Generated from configure.ac by autoheader. */
/* Define to 1 if you have the <alloca.h> header file. */
#undef HAVE_ALLOCA_H
/* Define to 1 if the target supports __attribute__((alias(...))). */
#undef HAVE_ATTRIBUTE_ALIAS

3
libgomp/configure vendored
View File

@ -5317,8 +5317,7 @@ done
for ac_header in alloca.h unistd.h semaphore.h sys/time.h
for ac_header in unistd.h semaphore.h sys/time.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
if eval "test \"\${$as_ac_Header+set}\" = set"; then

View File

@ -136,7 +136,7 @@ AC_SUBST(libtool_VERSION)
# Check header files.
AC_STDC_HEADERS
AC_HEADER_TIME
AC_CHECK_HEADERS(alloca.h unistd.h semaphore.h sys/time.h)
AC_CHECK_HEADERS(unistd.h semaphore.h sys/time.h)
AC_CHECK_HEADER([pthread.h],[],
[AC_MSG_ERROR([Pthreads are required to build libgomp])])

View File

@ -250,6 +250,10 @@ extern void *gomp_malloc (size_t) __attribute__((malloc));
extern void *gomp_malloc_cleared (size_t) __attribute__((malloc));
extern void *gomp_realloc (void *, size_t);
/* Avoid conflicting prototypes of alloca() in system headers by using
GCC's builtin alloca(). */
#define gomp_alloca(x) __builtin_alloca(x)
/* error.c */
extern void gomp_error (const char *, ...)

View File

@ -32,11 +32,6 @@
#include <stdlib.h>
#include <string.h>
#ifdef HAVE_ALLOCA_H
# include <alloca.h>
#endif
/* This array manages threads spawned from the top level, which will
return to the idle loop once the current PARALLEL construct ends. */
static struct gomp_thread **gomp_threads;
@ -270,7 +265,8 @@ gomp_team_start (void (*fn) (void *), void *data, unsigned nthreads,
}
}
start_data = alloca (sizeof (struct gomp_thread_start_data) * (nthreads-i));
start_data = gomp_alloca (sizeof (struct gomp_thread_start_data)
* (nthreads-i));
/* Launch new threads. */
for (; i < nthreads; ++i, ++start_data)