> From: Paul Smith <psm...@gnu.org> > Date: Wed, 07 Jul 2010 01:55:49 -0400 > > The first prerelease of the next version of GNU make is available on the > alpha FTP site (or via HTTP): > > > 98fd14ffe8f3950fabdde0267adb7680 > ftp://alpha.gnu.org/gnu/make/make-3.81.90.tar.gz > 2590d3cd304d32ba1df98ee1eea49e5f > ftp://alpha.gnu.org/gnu/make/make-3.81.90.tar.bz2
This change: 2009-10-03 Paul Smith <psm...@gnu.org> * make.h: Include <alloca.h> even on systems where __GNUC__ is defined. Not sure why it was done the other way. Requested by David Boyce <d...@boyski.com>. Causes multiple warnings on systems that use GCC, but do not use glibc (glibc has the alloca.h header, which makes it skip all this fragment): on Windows: In file included from arscan.c:19: make.h:39: warning: conflicting types for built-in function 'alloca' on DOS: In file included from make.h:202, from ar.c:19: d:/usr/djgpp/include/stdlib.h:85: error: conflicting types for 'alloca' make.h:39: error: previous declaration of 'alloca' was here I think that having a declaration for `alloca' in make.h is a bad idea, because there's no way we can guess the right way of declaring it. What was the motivation for David's request? I suggest the following patch, which should DTRT on GNU/Linux and on other platforms alike: 2010-07-09 Eli Zaretskii <e...@gnu.org> * make.h (alloca) [!__GNUC__]: Don't define prototype. --- make.h~0 2010-07-01 11:43:31.000000000 +0300 +++ make.h 2010-07-09 12:02:02.034125000 +0300 @@ -35,8 +35,10 @@ # ifdef _AIX #pragma alloca # else -# ifndef alloca /* predefined by HP cc +Olibcalls */ +# ifndef __GNUC__ +# ifndef alloca /* predefined by HP cc +Olibcalls */ char *alloca (); +# endif # endif # endif #endif _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make