サポートされている最新の C++ 仕様を自動的にターゲットにする「std:c++latest」オプションを備えた Microsoft のコンパイラ ツールチェーンに触発されて、GCC コンパイラの開発者は、-std=を指定できる同様の機能の可能性について議論しています。現在の C++ 標準の場合は c++current、将来/ドラフト仕様の場合は-std=c++future です。

アイデアは、GCC が”-std=c++current”をサポートすることです。これは、コンパイラによってサポートされている現在の C++ 仕様への移動ターゲットであり、”-std=c++future”は現在の仕様をターゲットにするためのものです。作業中/現在の作業形式での C++ 仕様のドラフト。 GNU C++ 拡張バリアントには、同様の gnu++current/gnu++future オプションもあります。

アイデアは素晴らしいものですが、実際には、これが絶えず移動するターゲットであり、ユーザーの混乱を招く可能性があるという懸念がすでに提起されています。特に、開発者/ユーザーは 1 年または数年前のコンパイラを実行していることが多いため、「現在」と「将来」のターゲットは異なる C++ バージョンを意味し、必ずしもその時点で実際に現在/将来のターゲットが何であるかというわけではありません。使用する。特に、ユーザーがすぐに使用できる数年前のコンパイラーを実行できるエンタープライズ Linux ディストリビューションでは、現在/将来の意味を解釈することは、ユーザーが期待するものと必ずしも正確ではありません。

今のところ、提案された GCC オプションは、この gcc-patches メーリング リスト スレッドで議論されています。 -std=c++current および-std=c++future の見通しに関心のある方向け。

Categories: IT Info