Date: Tue, 7 Nov 2000 11:32:11 -0500 (EST) From: Chris BeHanna <behanna@zbzoom.net> To: Peter Pentchev <roam@orbitel.bg> Cc: Giorgos Keramidas <keramida@ceid.upatras.gr>, hackers@FreeBSD.ORG Subject: Re: umask(2) and -Wconversion Message-ID: <Pine.BSF.4.21.0011071129430.7959-100000@topperwein.dyndns.org> In-Reply-To: <20001107121734.D314@ringworld.oblivion.bg>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 7 Nov 2000, Peter Pentchev wrote:
> In my experience, the problem is not only with umask(2) - GCC *is*
> a bit stubborn about -Wconversion; I wonder if this is really a GCC bug :(
>
> I'm having the same problems with many other functions when passing
> integer constants - even if I explicitly cast them to a long or unsigned
> long or plain unsigned int or whatever the particular function needs,
> GCC seems to ignore the cast and whines about the conversion nonetheless :(
>
> Can anybody else confirm this? I can't dig out a code snippet right now,
> but ISTR a recurring case of this when compiling with BDECFLAGS a program
> which includes ncurses.h, then passes integer constants to init_pair()
> or something similar.
What happens if you pass an explicit long or unsigned long
literal instead of casting an integer literal? Like this:
void myfunc( unsigned long);
int
main( int argc, char* argv[])
{
myfunc( 12UL);
return 0;
}
I realize, of course, that going through and changing every array
subscript, for example, is a PITA. I'm just curious about whether or
not this makes gcc behave nicely.
--
Chris BeHanna
Software Engineer (at yourfit.com)
behanna@zbzoom.net
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0011071129430.7959-100000>
