GCC 5.2リリース
タレコミ by Anonymous Coward
あるAnonymous Coward 曰く、
情報元へのリンク
2015年7月16日に、GCC 5.2がリリースされた。(gcc, OSDN Magazine)
バグ取りがメインのリリースで、目立った機能の追加等は無いがいくつか興味深いバグが修正された。
例えば、Bug 36043は、関数呼び出しの際に、サイズが2^nバイトでない構造体を渡し、かつそれがレジスタに展開される場合のアライメント処理に問題があり、SIGSEGVが起きるというバグだ。これは、実際のデータよりも多めにレジスタに読まれるだけなので、プログラムの動作自体には問題は無いはずだが、管理領域の外のページがレジスタ上にロードされる可能性があり、まともなOSとCPUはこれを検知してSIGSEGVを発行する。この様な基本的なバグがまだ残っていたというのは驚きである。
その他、C++周りで小学生並みのバグが修正されたり、std::nullptr_tのアライメントが変更された。また、gccは変数テンプレートとconstexprとODRが組み合わさってぶっ壊れる傾向があったが、それについても修正されている。安定的にC++14を使えるのはずいぶん先になりそうである。
情報元へのリンク
GCC 5.2リリース More ログイン