[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Unnecessary warnings
From: |
Bruce Korb |
Subject: |
Re: Unnecessary warnings |
Date: |
Mon, 25 Sep 2006 07:43:50 -0700 |
On 9/25/06, Ludovic Courtès <address@hidden> wrote:
Hi,
Bruce Korb <address@hidden> writes:
> /usr/local/gnu/include/libguile/smob.h:149: warning: declaration of 'free'
shadows a global declaration
> /usr/local/gnu/include/libguile/filesys.h:75: warning: declaration of
'dirname' shadows a global declaration
> /usr/local/gnu/include/libguile/ports.h:233: warning: declaration of 'write'
shadows a global declaration
> /usr/local/gnu/include/libguile/ports.h:254: warning: declaration of
'truncate' shadows a global declaration
> /usr/local/gnu/include/libguile/numbers.h:258: warning: declaration of 'div'
shadows a global declaration
> /usr/local/gnu/include/libguile/stime.h:55: warning: declaration of 'time'
shadows a global declaration
> /usr/include/iso/time_iso.h:91: warning: shadowed declaration is here
> /usr/local/gnu/include/libguile/stime.h:56: warning: declaration of 'time'
shadows a global declaration
> /usr/include/iso/time_iso.h:91: warning: shadowed declaration is here
> /usr/local/gnu/include/libguile/stime.h:60: warning: declaration of 'stime'
shadows a global declaration
>
> These are all due to argument names in prototype declarations.
What compiler issues those messages? To me, it looks like the compiler
is kind of broken, because there's no reason (AFAIK) there can be name
clashes between argument names and global declarations.
GCC on Solaris. I agree that it is just a documentation name and serves
no other purpose, but there it is. I do like -Wshadow, but it is not so useful
if cluttered up with these spurious messages. As for the "function is not
a prototype" messages, having a typedef for the particular procedure profile
being passed around allows for better profile matching in the calling code
anyway. It also cleans up the appearance of your prototype.
Thanks! - Bruce