Sakura: [x64対応] C4477 の警告を修正する

Created on 11 Jun 2018  ·  11Comments  ·  Source: sakura-editor/sakura

[x64対応] C4477 の警告を修正する

https://msdn.microsoft.com/ja-jp/library/tcxf1dw6.aspx

size_t (つまり、32 ビット プラットフォーム上では unsigned __int32、64 ビット プラットフォーム上では unsigned __int64) → I

ptrdiff_t (つまり、32 ビット プラットフォーム上では __int32、64 ビット プラットフォーム上では __int64) → I

x64 🐛bug🦋

All 11 comments

89 を送りました。

一度何人かで話したいです。

一度何人かで話したいです。

論点は何でしょう。
PR へのレビューコメントでは足りない感じですか?

対応すべきか否か

Disable warningも選択の1つです。

それは、誤検出か、コンパイラのヘッダが原因の場合にする対策だと思います。

無効にするにしても、個別に判断することだと思います。

本業があるんで細切れですみません。

X86版では主要な警告のいくつかをstdafx.hで切り捨てています。同じレベルの対応とすることは可能と思ってます。

修正眺めた感じかなりの量ありそうでしたが、これは今やるべきか?ということを言ってます。

今やるかどうかです。

x64 関連の Warning はスルーすると普通に動作不具合に繋がる系が多いと思っています。

たとえばこの Issue とは違う警告ですが warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data 等は明らかにデータが失われる状況ありますよね。こういうのは無視しちゃいけないやつです。

他 Warning についても同様に慎重に精査したほうが良いと思っています。

補足です。

X86版では主要な警告のいくつかをstdafx.hで切り捨てています。同じレベルの対応とすることは可能と思ってます。

x86 版でのキャスト処理等は割と問題起こらなかったりします。
たとえば上に挙げた warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data については
x86 版だと sizeof(size_t) == sizeof(int) == 4 なので問題なし、
x64 版だと sizeof(size_t) == 8, sizeof(int) == 4 なので問題あり、
という感じです。

対応には賛成で、何件か見た限り修正は適切でした

いまこのprは特急でx64対応を進める作業の一環だと思っています。

特急で仕上げるにはみるべきことが少し多いように感じています。

リアルタイムでの参加は難しそうなので、一旦はそのまま進めてください。何かあれば後追いで質問するかも知れませんのでその時はよろしくお願いします。

自分としてはx64対応は特急じゃなくて良いんじゃないかなーと思っています。慎重にやらないと事故りそう。

95 を追加しました。

Was this page helpful?
0 / 5 - 0 ratings