:別のステートメントに++s
の移動gccの-wsequence-point警告フラグは壊れていますか?私は、この行のための警告を取得してい
e = strtol(++s, (char **)&s, 10);
は、警告が消えるなりますが、私の知る限り、この警告は完全に間違っています。 の値はs
で、++s
の計算では1回のみ使用されます。 s
の2番目の使用方法は、そのアドレスを使用することです。私は行方不明のものがありますか?
:別のステートメントに++s
の移動gccの-wsequence-point警告フラグは壊れていますか?私は、この行のための警告を取得してい
e = strtol(++s, (char **)&s, 10);
は、警告が消えるなりますが、私の知る限り、この警告は完全に間違っています。 の値はs
で、++s
の計算では1回のみ使用されます。 s
の2番目の使用方法は、そのアドレスを使用することです。私は行方不明のものがありますか?
gcc(4.4.3または4.4.5)の新しいバージョンでは、投稿した行に関する警告は生成されません。古いgccバージョンにはバグがあるように警告が生成されています。
[GCC bug 18050](http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18050) - 4.4.0で修正されました。 – ugoren
gcc 4.4.3または4.4.5を使用して問題を再現できません。それを実証する完全なexample.cを投稿しますか? – Kamal
ああ、それはそのシステム上の古い3.x gccのようです。 –
ちなみに、「現在のgccはこの警告を生成しないので」、私の質問には警告が間違っているかどうかについての良い答えです。 –