初期化されていない変数について1つだけ警告を表示する欠陥のあるプログラムの例がありますが、コンパイルしてもgccは警告を表示しません。
コードは次のとおりです。
#include <stdio.h>
int main()
{
int foo;
printf("I am a number: %d \n", foo);
return 0;
}
これが私が実行するものです:cc -Wall testcase.c -o testcase
そして、私はフィードバックを受け取りません。私の知る限り、これは次のことを生み出すはずです。
testcase.c: In function 'main':
testcase.c:7: warning: 'foo' is used uninitialized in this function
彼のCチュートリアルの同様の例では、ZedShawに正しく警告しているようです)。これは私が最初に試した例であり、期待どおりに機能していないことに気づきました。
何か案は?
編集:
gccのバージョン:
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)