Messages in this thread | | | Date | Mon, 24 Feb 2003 22:38:02 +0100 | From | Adrian Bunk <> | Subject | Re: [PATCH] s390 (7/13): gcc 3.3 adaptions. |
| |
On Mon, Feb 24, 2003 at 01:02:39PM -0800, Linus Torvalds wrote: >... > Does gcc still warn about things like > > #define COUNT (sizeof(array)/sizeof(element)) > > int i; > for (i = 0; i < COUNT; i++) > ... > > where COUNT is obviously unsigned (because sizeof is size_t and thus > unsigned)? > > Gcc used to complain about things like that, which is a FUCKING DISASTER. > > Any compiler that complains about the above should be shot in the head, > and the warning should be killed.
In the program below -Wall doesn't warn in neither 2.95 nor 3.2. You need -Wsign-compare to get a warning. IMHO a warning is useful in this example, some people might wrongly assume that the "Hello, world!" would be printed more than once.
<-- snip -->
#include <stdio.h>
int array[] = {1, 2, 3, 4, 5};
#define COUNT (sizeof(array)/sizeof(array[0]))
int main() { int i;
for (i = 0; i < COUNT; i++) { i -= 2; printf("Hello, world!\n"); }
return(0); }
<-- snip -->
> Linus
cu Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |