Subject: Re: archive.c/arm32
To: Chris G. Demetriou <firstname.lastname@example.org>
From: John F. Woods <email@example.com>
Date: 03/23/1998 22:58:09
> ((int)val >= 0) yields the correct result, but also causes that
a-HA. Granted, a compiler is entitled to emit as many spurious messages
as it likes, but this seems too clever by half...
> (((int)val & 0x100) == 0) also yields the correct result (for machines
> where char is 8 bits -- i.e. all machines that NetBSD supports), but
> does not cause that warning. The expression is still always true on
> unsigned-char machines, but gcc isn't sophisticated enough to catch it.
To quote Rob Pike, "The technical term for that is ``brain damaged''."
*NOW* I understand. "Never mind."
(One suggestion though: add a comment to the code.)