以下のプログラムのfor文が正しく実行されません。
(上限が負の値になるので、一回も実行されないはずが、
無限ループのようになる)
これは、なぜでしょうか?gccのbugでしょうか?
bugの場合には、GNUに詳しい方がいらしたら、bug reportを
出していただけないでしょうか。
/* test_for.c */
#include <stdio.h>
main()
{
int i,m;
char name[128];
m = 10;
strcpy(name,"12345678901234567890123456");
printf("%s ",name);
for (i=0;i<24-strlen(name);i++) printf(".");
printf(" %d\n",m);
}
コンパイルとgcc(Cygwin version 2.340.2.5に入っていたもの)の情報は以下です。
135:/tmp>gcc test_for.c
136:/tmp>gcc -v
Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.2/specs
Configured with: /netrel/src/gcc-3.2-3/configure --enable-languages=c,c++,f77,java --enable-libgcj --enable-threads=posix --with-system-zlib --enable-nls --with
out-included-gettext --enable-interpreter --disablesjlj-exceptions --disable-version-specific-runtime-libs --enable-shared --build=i686-pc-linux --host=i686-pc-cygwin --target=i686-pc-cygwin --enable-haifa --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --includedir=/nonexistent/include --libexecdir=/usr/sbin
Thread model: posix
gcc version 3.2 20020927 (prerelease)
137:/tmp>
|