bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNU make 3.81.90 prerelease available


From: Eli Zaretskii
Subject: Re: GNU make 3.81.90 prerelease available
Date: Fri, 09 Jul 2010 12:06:09 +0300

> From: Paul Smith <address@hidden>
> 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  <address@hidden>

            * 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 <address@hidden>.

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  <address@hidden>

        * 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]