私は(本質的に)野生で次のものに出くわしました
x = x = 5;
これは明らかに以前のバージョンのgccではきれいにコンパイルされます(gcc 4.5.1では警告が生成されます)。私が知る限り、警告は-Wsequence-pointによって生成されます。だから私の質問は、これはシーケンスポイント間の変数の操作に関する標準の表現に違反していますか(つまり、仕様ごとに未定義の動作です)、これはgccの誤検知です(つまり、仕様ごとに定義された動作です)?シーケンスポイントの表現は、理解するのが少し難しいです。
私が実際に出くわしたのは(より大きな表現で)
x[0][0] = x[0][0] = 5;
しかし、私はそれが警告にとって重要であるとは思いませんでした(それが問題の核心であると私が想定したものではなく、それが要点である場合は私を訂正してください)。