bug-autoconf
[Top][All Lists]
Advanced

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

Re: _AC_FUNC_VFORK with C++ compiler


From: Akim Demaille
Subject: Re: _AC_FUNC_VFORK with C++ compiler
Date: 29 Oct 2002 13:42:45 +0100
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Honest Recruiter)

| The _AC_FUNC_VFORK program has compilation failures when CPPFLAGS is set
| to "-x c++". g++-2.95.3 gives the following errors:
| 
| 20: ANSI C++ forbids declaration `sparc_address_test' with no type
|  In function `int main()':
| 20: too few arguments to function `int sparc_address_test(int)'
| 42: at this point in file
| 74: implicit declaration of function `int wait(...)'
| 
| g++-3.0 gives the following errors:
| 
| 20: ISO C++ forbids declaration of `sparc_address_test' with no type
|  In function `int main()':
| 20: too few arguments to function `int sparc_address_test(int)'
| 42: at this point in file
| 74: `wait' undeclared (first use this function)
| 74: (Each undeclared identifier is reported only once for each function 
|     it appears in.)
| 88: `exit' undeclared (first use this function)
| 
| Here is a patch for autoconf 2.50; it should apply to autoconf 2.54b
| as well.

Thanks, I'm installing it.  Note that patches are most welcome on
address@hidden, with ChangeLogs :)

| *** acfunctions.m4.bak        Tue Jul 17 18:19:21 2001
| --- acfunctions.m4    Sun Aug 26 01:36:15 2001
| ***************
| *** 1479,1486 ****
| --- 1479,1488 ----
|   [AC_CACHE_CHECK(for working vfork, ac_cv_func_vfork_works,
|   [AC_TRY_RUN([/* Thanks to Paul Eggert for this test.  */
|   #include <stdio.h>
| + #include <stdlib.h>
|   #include <sys/types.h>
|   #include <sys/stat.h>
| + #include <sys/wait.h>
|   #if HAVE_UNISTD_H
|   # include <unistd.h>
|   #endif
| ***************
| *** 1493,1499 ****
|      (e.g. gcc -O) don't grok <vfork.h>.  Test for this by using a
|      static variable whose address is put into a register that is
|      clobbered by the vfork.  */
| ! static
|   #ifdef __cplusplus
|   sparc_address_test (int arg)
|   # else
| --- 1495,1501 ----
|      (e.g. gcc -O) don't grok <vfork.h>.  Test for this by using a
|      static variable whose address is put into a register that is
|      clobbered by the vfork.  */
| ! static void
|   #ifdef __cplusplus
|   sparc_address_test (int arg)
|   # else
| ***************
| *** 1521,1527 ****
|     pid_t parent = getpid ();
|     pid_t child;
|   
| !   sparc_address_test ();
|   
|     child = vfork ();
|   
| --- 1523,1529 ----
|     pid_t parent = getpid ();
|     pid_t child;
|   
| !   sparc_address_test (0);
|   
|     child = vfork ();
|   
| 
| 
| 




reply via email to

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