Proof positive the "signedness of char *" warning is useless.

Rob Landley rob at landley.net
Fri Dec 2 17:40:59 UTC 2005


On Friday 02 December 2005 10:45, John Z. Bohach wrote:
> On Friday 02 December 2005 07:47, Rob Landley wrote:
> > It does match the prototype.  The prototype is "char".  The signedness of
> > that was indeterminate.
>
> Does not match.  Watch:
>
> void foo(char x);
> ...
> signed char y;
> foo(y);
> ...

See "the signedness is indeterminate".  Signed or unsigned will clash on 
various platforms as the default moves.

> Besides, you've got more than just char signed warnings in the text file of
> errors you posted, and that's when I got involved in the discussion.  As
> I've stated previously, your solution is fine.

The int ones I don't mind so much.  The char ones are noise.

> The only point I'm trying 
> to make is that the signedness of char's must always be explicitly
> specified in new code that people write in order to avoid this issue in the
> future.  Its not the compiler's fault.



> > Now it's specifying -funsigned-char.  It is now determinate.
> >
> > You are now in my spam filter.
>
> Why don't you post your compiler grumblings on the gcc mailing list, maybe
> they'll put you in their spam filter...

Because I read large chunks of the gcc source code years ago and I'm NEVER 
poking at the internals of that thing again if I can help it?

I'm already trying to follow linux-kernel, user mode linux (-devel and -user), 
busybox, and uClibc.  These are projects I'm willing to poke at the internals 
of.  If I was going to pick up a compiler and start doing the same, it would 
be Fabrice Bellard's TCC, not gcc.  But right now, I've got way too much on 
my plate already.

I view gcc as a necessary evil, for now.

Rob
-- 
Steve Ballmer: Innovation!  Inigo Montoya: You keep using that word.
I do not think it means what you think it means.



More information about the busybox mailing list