Le 30 juil. 2012 à 14:03, Hans Aberg a écrit :

> There were errors: it did not complete compilation.

Ah.  What's --version of these compilers?  I have tons of
warnings, but no errors.

>  CC       stpcpy.o
> ../../bison-2.6.1/lib/stpcpy.c:36:1: error: expected parameter declarator
> __stpcpy (char *dest, const char *src)
> ^

What the heck???  The lines are:

34 /* Copy SRC to DEST, returning the address of the terminating '\0' in DEST.  
*/
35 char *
36 __stpcpy (char *dest, const char *src)
37 {

So really, I fail to see what could be wrong here.  I guess
the issue is elsewhere.  Maybe stpcpy is already defined as
a macro elsewhere.

Could you investigate this?  For instance run "make V=1" to
get the compilation for this file, and try to run the same
command, but replacing -c by -E to get the result from the
preprocessor.

> ../../bison-2.6.1/lib/stpcpy.c:31:19: note: expanded from macro '__stpcpy'
> # define __stpcpy stpcpy
>                  ^
> /usr/include/secure/_string.h:99:5: note: expanded from macro 'stpcpy'
>  ((__darwin_obsz0 (dest) != (size_t) -1)                               \
>    ^

Ah, ok, forget it, the message says it: this is indeed a macro.

So, in stpcpy.c, if you replace

#undef __stpcpy
#ifdef _LIBC
# undef stpcpy
#endif

by

#undef __stpcpy
#undef stpcpy

I guess it works?  I would also need config.log please.



Reply via email to