このパッチは、コンパイラやRTL/STLなど、C++Builder 10.3のC++ツールチェーンのさまざまな問題を解決する目的でリリースしました。
このホットフィックスは、アップデートサブスクリプションが有効なユーザーが適用でき、以下の URLよりダウンロードできます。
https://cc.embarcadero.com/item/30872
RAD StudioおよびC++Builder 10.3でC++による開発を行っている場合はこのパッチを適用してください。
詳細
このホットフィックスは、以下の問題を解決します。
- コンパイラのバージョン番号とバージョンマクロが正しくない
- バッチコンパイルが正常に動作しない問題の解消
- chrono::steady_clockに関連するいくつかの問題
- バイト値が127を超える文字を含むANSIエンコードファイルの問題
- std::align_val_tを使用した_seek(zlibに影響を与える)、new()演算子、delete()などを含むRTLに関するいくつかの問題
- long double変数用に予約されているメモリサイズとデバッガの評価に影響する問題
- __declspec(dllimport)変数は定数初期化子として使用可能
- 特定のコードパターンにおける内部コンパイラ エラー(ICE)の解消
- AndroidをターゲットにしたFireMonkeyアプリで間違ったバージョンのlinkdfm*.dll が用いられる
- 特定のコードパターンに対するコンパイル速度の改善
このホットフィックスに関連する問題は quality.embarcadero.com 以下のように報告されています。
- RSP-21824 Clang: __finally block contains corrupt class members and local objects
- RSP-21704 Compiler version predefined macros are not updated
- RSP-21658 ilink32: Unresolved external ‘operator new(unsigned int, std::align_val_t)’ and ‘operator delete(void *, std::align_val_t)’
- RSP-21657 bcc32c parallel compilation fails to work!
- RSP-21653 System.ZLib fails to link for Win64
- RSP-21612 bcc32c erroneously gives sizeof(long double) as 10, but reserves 12 bytes
- RSP-21609 Memory display unable to show padded extended from bcc32c
- RSP-22339 Problem with Ansi character constant encoding
- RSP-20552 chrono::steady_clock is chrono::system_clock which is not steady
- RSP-18752 std::chrono::steady_clock::now() returns time_point instead of time_point
インストール
インストールの手順は、パッチに添付の readme.txt をご一読ください。
インストール後の注意
今回のパッチを適用後に、RAD Studio / C++Builderの言語を変更しないでください。今回のパッチにはローカライズ版のコンパイラを含んでおらず、パッチ適用後は、コンパイラによるすべての警告とエラーメッセージは英語になります。RAD Studio / C++Builderの言語を変更した場合は、このホットフィックスを再度適用してください。