aboutsummaryrefslogtreecommitdiff
path: root/libgomp
diff options
context:
space:
mode:
authorSteve Ellcey <sje@cup.hp.com>2006-01-21 17:57:01 +0000
committerSteve Ellcey <sje@gcc.gnu.org>2006-01-21 17:57:01 +0000
commita55b8e1826cd3c5e399fdcb4802f1603e49f8ba9 (patch)
tree16ba62c14bd05fa0e4fd37e596e2a99d95e7f40b /libgomp
parent30cb87a09beeca0cbdee7347c2d993d1b90446d2 (diff)
downloadgcc-a55b8e1826cd3c5e399fdcb4802f1603e49f8ba9.zip
gcc-a55b8e1826cd3c5e399fdcb4802f1603e49f8ba9.tar.gz
gcc-a55b8e1826cd3c5e399fdcb4802f1603e49f8ba9.tar.bz2
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
Diffstat (limited to 'libgomp')
-rw-r--r--libgomp/ChangeLog10
-rw-r--r--libgomp/config.h.in3
-rwxr-xr-xlibgomp/configure3
-rw-r--r--libgomp/configure.ac2
-rw-r--r--libgomp/libgomp.h4
-rw-r--r--libgomp/team.c8
6 files changed, 18 insertions, 12 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 0b151aa..e33066a 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -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
diff --git a/libgomp/config.h.in b/libgomp/config.h.in
index 9d2fa77..a24e148 100644
--- a/libgomp/config.h.in
+++ b/libgomp/config.h.in
@@ -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
diff --git a/libgomp/configure b/libgomp/configure
index 83ded9e..4824adc 100755
--- a/libgomp/configure
+++ b/libgomp/configure
@@ -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
diff --git a/libgomp/configure.ac b/libgomp/configure.ac
index 90e115b..854514a 100644
--- a/libgomp/configure.ac
+++ b/libgomp/configure.ac
@@ -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])])
diff --git a/libgomp/libgomp.h b/libgomp/libgomp.h
index 771fc1c..dd1e494 100644
--- a/libgomp/libgomp.h
+++ b/libgomp/libgomp.h
@@ -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 *, ...)
diff --git a/libgomp/team.c b/libgomp/team.c
index c994135..a4020fc 100644
--- a/libgomp/team.c
+++ b/libgomp/team.c
@@ -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)