GCC 5.2リリース

2015年7月20日 22:57

印刷

記事提供元:スラド

あるAnonymous Coward 曰く、 7月16日、GCC 5.2がリリースされた。バグの修正が中心のリリースで目立った機能の追加等はないが、修正されたバグの中にはいくつか興味深いものがある(変更点OSDN Magazineの記事)。

たとえばBug 36043は、関数呼び出しでサイズが2^nバイトでない構造体を渡した際に、レジスタに展開される場合のアライメント処理に問題があり、SIGSEGVが起きるというものだ。これは実際のデータよりも多めにレジスタに読まれるだけなので、プログラムの動作自体には問題ないはずだ。ただし、管理領域の外のページがレジスタ上にロードされる可能性があり、まともなOSとCPUはこれを検知してSIGSEGVを発行する。この様な基本的なバグがまだ残っていたというのは驚きである。

その他、C++周りでペーストミスとみられるバグが修正されたり、std::nullptr_tのアライメントが変更されたりしている。また、GCCは変数テンプレートとconstexprとODRが組み合わさってリンクエラーが発生する傾向があったが、それについても修正されている。安定的にC++14を使えるのはずいぶん先になりそうである。

 スラドのコメントを読む | デベロッパーセクション | プログラミング | GNU is Not Unix | デベロッパー

 関連ストーリー:
GCC 5.1リリース 2015年04月27日
Linux版Google ChromeのビルドにClangが使われる理由 2015年01月07日
Linus Torvalds、GCCのバグに強烈なダメ出し 2014年07月28日
GCC 4.9リリース 2014年04月24日
RMS曰く、LLVMはフリーソフトウェアに対する大きな障害 2014年01月26日

※この記事はスラドから提供を受けて配信しています。

関連記事