This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Problem with egcs? Not sure.
- To: alex dot buell at tahallah dot demon dot co dot uk
- Subject: Re: Problem with egcs? Not sure.
- From: Alexandre Oliva <oliva at dcc dot unicamp dot br>
- Date: 14 Sep 1998 02:04:41 +-300
- Cc: Linux Egcs <egcs at cygnus dot com>, Linux xwpe <xwpe at cs dot rpi dot edu>
- References: <Pine.LNX.4.02.9809131233480.25594-100000@tahallah.demon.co.uk>
Alex Buell <alex.buell@tahallah.demon.co.uk> writes:
> http://www.rpi.edu/~payned/xwpe/xwpe-1.5.12a.tgz
> finally downloaded egcs-1.1b, and built it.
> gcc -g -O2 -DCC_HAS_PROTOS=1 -DGPM=1 -DRANDLIB=1 -DNOPRINTER=1 -DNOVSWTCH=1 -DLIBRARY_DIR=\"/usr/lib/xwpe\" -c we_wind.c
> we_wind.c: In function `e_schr_lst_wsv':
> we_wind.c:1290: called object is not a function
> we_wind.c:1290: called object is not a function
> we_wind.c:1290: warning: unreachable code at beginning of switch statement
> we_wind.c:1290: called object is not a function
> make: *** [we_wind.o] Error 1
> int e_schr_lst_wsv(char *str, int xa, int ya, int n, int strlen, int ft,
> int fz, struct dirfile **df, FENSTER *f)
> {
[snip]
> strcpy(str, (*df)->name[num]); /* <-- ERROR HAPPENS HERE */
Did you notice what the strcpy() expands to? Check line 10469 of
we_wind.i: you'll find a switch statement, as well as some calls to
strlen(). Unfortunately, strlen is not a function in the current
scope: the function argument named `strlen' hides the standard
function strlen(). I believe this is well-defined, and glibc should
call __strlen or such instead, but I'm no C language lawyer.
Maybe you should report this as a bug to the maintainers of glibc...
Unless some of them is listening to this discussion :-)
Anyway, I'd recommend xwpe people to rename the function argument;
it's bad practice to redefine well-known names :-)
--
Alexandre Oliva
mailto:oliva@dcc.unicamp.br mailto:aoliva@acm.org
http://www.dcc.unicamp.br/~oliva
Universidade Estadual de Campinas, SP, Brasil