Sorry for the noise, the problem is already tracked here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18501
Le 2 décembre 2011 10:42, Patrice Bouchand <pbfwdl...@gmail.com> a écrit : > Hello, > > I suspect a regression in uninitialized value detection, but before opening > a bug I request your advices on the following problem: > > I compile the following code : > ---------------------------------------------------- > #include <stdio.h> > #include <stdlib.h> > > int main( int argc, char **argv ) > { > int j; > int rtn; > int k,t; > > j = atoi( argv[1] ); > > if ( j > 5 ) > { > rtn = 10; > } > > k=t; > > printf("rtn = %d\n", rtn); > > exit(0); > } > ---------------------------------------------------- > > With gcc 4.0: > > bash-4.2$ gcc-4.0 -O2 -Wall ./test_gcc2.c -o test_gcc > ./test_gcc2.c: In function 'main': > ./test_gcc2.c:17: warning: 't' is used uninitialized in this function > ./test_gcc2.c:7: warning: 'rtn' may be used uninitialized in this function > > With gcc 4.6.1, the warning on rtn disappears : > > bash-4.2$ gcc -O2 -Wall ./test_gcc2.c -o test_gcc > ./test_gcc2.c: In function ‘main’: > ./test_gcc2.c:8:8: attention : variable ‘k’ set but not used > [-Wunused-but-set-variable] > ./test_gcc2.c:17:5: attention : ‘t’ is used uninitialized in this function > [-Wuninitialized] > > > Do I need to pass special options to gcc 4.6.1 to enable this detection or > is it a gcc problem ? > > Regards > > Patrice >