Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VC++の規格準拠モードをONにする #1053

Merged

Conversation

berryzplus
Copy link
Contributor

PR の目的

VC++のC++規格準拠モードをONにすることにより、
今後、コードベースに変なコードが混入するリスクを軽減します。

同時に、現状でC++規格に準拠できていないコードに対策を入れます。

カテゴリ

  • リファクタリング

PR の背景

issue #872 「開発環境(Visual Studio)の機能をもっと活用するためにコード改善を行いたい」の残課題です。

残課題として残っていた理由は /permissive- を利用するためには、やっかいな課題をいくつかクリアしないといけなかったからです。

#1044 の対応で、 /permissive- を使うための前提条件「けっこう新しいWindows 10 SDKを使う」が解決できたので、投入を試みることにしました。

で、やってみたらビルドエラーが出たので過去の検証で作った暫定対処コードをくっつけて、ビルド可能な状態にしてPRとしました。

PR のメリット

  • コードベースに変なコードが混入するリスクを軽減できます。

PR のデメリット (トレードオフとかあれば)

  • とくにありません。

PR の影響範囲

  • C++規格に準拠しないコードをビルドエラーになります。
  • アプリ(=サクラエディタ)の機能に影響はありません。

関連チケット

#1044 プロジェクトのビルドにWindows10 SDKを使う
close #872 開発環境(Visual Studio)の機能をもっと活用するためにコード改善を行いたい

参考資料

VC++の「規格準拠(強化)モード」をオンにする。

詳細については以下VC++チームのブログを参照。
https://devblogs.microsoft.com/cppblog/msvc-conformance-improvements-in-visual-studio-2017-version-15-5/
ビルドを通すために規格非準拠はここで修正してしまう。
6⇒4errors
@AppVeyorBot
Copy link

Copy link
Contributor

@beru beru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ビルドは通っているしコードの変更内容から見ても問題無いと思います。

@beru beru added the refactoring リファクタリング 【ChangeLog除外】 label Sep 23, 2019
@berryzplus
Copy link
Contributor Author

レビューありがとうございます。
何か問題があれば別PRでの対処とさせていただきます。

@berryzplus berryzplus merged commit a6cc7ea into sakura-editor:master Sep 23, 2019
@berryzplus berryzplus deleted the feature/enable_conformance_mode branch September 23, 2019 02:25
@m-tmatma m-tmatma added this to the v2.4.0 milestone Dec 29, 2019
HoppingTappy pushed a commit to HoppingTappy/sakura that referenced this pull request Jun 16, 2020
…conformance_mode

VC++の規格準拠モードをONにする
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactoring リファクタリング 【ChangeLog除外】
Projects
None yet
Development

Successfully merging this pull request may close these issues.

開発環境(Visual Studio)の機能をもっと活用するためにコード改善を行いたい
4 participants