「x=++ x」などのシーケンスポイントに関連付けられた未定義の動作の精神では、それは本当に未定義ですか?、どのようにしてコンパイラにそのようなコードについて文句を言わせるのですか?
具体的には、私はVisual Studio2010とXcode4.3.1を使用しています。後者はOSXアプリ用ですが、どちらもこれについて警告していません。VS2010の警告を「すべて」に上げて、これをうまくコンパイルしました。(記録として、VS2010のバージョンは変数に1を追加しましたが、Xcodeのバージョンは変数を変更しませんでした。)