satz@CISCO.COM (02/14/89)
The following program when compiled with gcc 1.33 on a Sun 3/280 OS 3.5
with the -W flag produces a warning with the incorrect line number. The
line number reported is at the end of the block instead of the for
statement.
------------------------------
struct list {
struct list *next;
char *a;
} *foo;
main()
{
struct list *p;
for (p = foo; p; p->next) { /* missing assignment */
printf("a=%s\n", p->a);
printf("length=%d", strlen(p->a));
}
}
------------------------------
dustbin>gcc -W -c -v -B$g/ foo.c
gcc version 1.32
/usr.MC68020/dustbin/src/gnu/gcc-1.33/cpp -v -undef -D__GNUC__ -Dmc68000 -Dsun
-Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__HAVE_68881__ -Dmc68020 foo.c /tmp/
cca00410.cpp
GNU CPP version 1.33
/usr.MC68020/dustbin/src/gnu/gcc-1.33/cc1 /tmp/cca00410.cpp -quiet -dumpbase fo
o.c -W -version -o /tmp/cca00410.s
GNU C version 1.33 (68k, MIT syntax) compiled by GNU C version 1.33.
foo.c: In function main:
foo.c:13: warning: statement with no effect
as -mc68020 /tmp/cca00410.s -o foo.o