gcc4.3.0のコード調査
gcc4.3.0が変なコードを吐く前後を調べてみました。
式 | 実際のコード | 正否 |
---|---|---|
~static_cast<unsigned>(-(n + 0)) | n-1 | ○ |
~static_cast<unsigned>(-(n + 1)) | ~n | × |
~static_cast<unsigned>(-(n + 2)) | ~(-2-n) | ○ |
static_cast<unsigned>(-(n + 1)) | ~n | ○ |
やっぱり昨日のパターンだけバグってます。