MGL 1.1.14 (2025-03-23)#

追加・変更#

C++23としてのコンパイルに対応#

C++23としてコンパイルした際に生じていた問題を修正しました。

なお、現時点ではC++23でのコンパイルは試験的なものであり、MGLは引き続きC++17での利用を想定しています。

gcc(g++)およびlibstdc++への対応に伴う変更#

gcc(g++)コンパイラ、および標準ライブラリのlibstdc++への対応に伴い次の修正を加えました。これらにはアプリケーションに影響を及ぼす破壊的変更も含まれています。

C++23以降でのみ定数式として有効になるMGL_MABYE_CONSTEXPRを追加

MSVCおよびClangでは本来ならC++17の時点では定数式にできない関数にconstexprの付与が可能で、これらがgcc(g++)において問題となっていました。MGLをより標準的な仕様に準拠させるため、C++23以降でのみconstexprとなるMGL_MABYE_CONSTEXPRを追加しました。

一部のAPIのconstexprMGL_MABYE_CONSTEXPRに置き換え

先述の問題により、本来は定数式にできなかったAPIのconstexprMGL_MABYE_CONSTEXPRへと置き換えました。対象APIは次の通りです。

MSVCおよびClangでC++20までの環境でコンパイルする場合、これらは定数式から非定数式への破壊的変更となります。C++23以降においては引き続き定数式として利用可能です。

テキスト整形における値の種類と型の関係を修正

cstdintの宣言の差異によりコンストラクタの重複定義となる場合があったため、値の種類と型の関係性の解決をより汎用的に行えるよう変更しました。この変更によるアプリケーション側への影響は少ないと想定されますが、多くの暗黙的なキャストを含むクラスにおいて問題が生じる可能性があります。

Windowsの標準構成へのリファクタリング#

MGL 1.1.13 (2024-09-30)で導入したclang-tidyのポリシーをWindowsの標準構成内のソースコードに対しても適用しました。


不具合修正#

ビルド環境#

単体ビルド環境において、一部のシェルスクリプトが正しく動作していなかった問題を修正しました。