lucy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Karman <pe...@peknet.com>
Subject Re: C90 vs C99
Date Thu, 14 Jan 2010 16:39:20 GMT
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

[pijuser@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/  .  peter@peknet.com

Mime
View raw message