Marvin Humphrey wrote on 1/14/10 10:31 AM:

Before:

    int i, max;
    for (i = 0, max = thing->hello_count; i < max; i++) {
        printf("Greetings, earthlings!\n");
    }

After:

    for (int i = 0, max = thing->hello_count; i < max; i++) {
        printf("Greetings, earthlings!\n");
    }

The latter is better because it scope-limits "i" and "max" to the loop where
they are needed.


yes, I can see why it's better. As long as it compiles, that is. ;)

A web search reveals that this is a GCC error, but it's unexpected because GCC
should be tolerant by default.  Do the flags that you're passing to GCC
include "-std=c90", "-std=C89", or "-ansi"?



no.

cc -I. -I../core -Iautogen -Ixs -I../charmonizer/gen -I/opt/pij/lib/perl5/5.8.9/x86_64-linux/CORE -fPIC -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -o ../core/KinoSearch/Util/SortExternal.o ../core/KinoSearch/Util/SortExternal.c
../core/KinoSearch/Util/SortExternal.c: In function `S_find_endpost':
../core/KinoSearch/Util/SortExternal.c:194: error: 'for' loop initial declaration used outside C99 mode error building ../core/KinoSearch/Util/SortExternal.o from '../core/KinoSearch/Util/SortExternal.c' at /opt/pij/lib/perl5/site_perl/5.8.9/ExtUtils/CBuilder/Base.pm line 112.
make: *** [test] Error 2

[piju...@pijnatdev perl]$ cc -v
Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.6/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=x86_64-redhat-linux
Thread model: posix
gcc version 3.4.6 20060404 (Red Hat 3.4.6-3)


--
Peter Karman  .  http://peknet.com/  .  [email protected]

Reply via email to