2016/08/23

GCC 6.2.0 の巻

GCC 6.2.0 が出ましたので、 手持ちの 6.1.0 にパッチを当ててみました。ツールおよび Haiku 本体のクロスビルドでは特に問題ないようでしたが、icon-o-matic/transformable/TransformBox.cpp での ICE だけはまだ直らないようです。
/home/haiku/haiku/haiku/src/apps/icon-o-matic/transformable/TransformBox.cpp: In function 'float point_line_dist(BPoint, BPoint, BPoint, float)':
/home/haiku/haiku/haiku/src/apps/icon-o-matic/transformable/TransformBox.cpp:512:1: internal compiler error: Segmentation fault
 point_line_dist(BPoint start, BPoint end, BPoint p, float radius)
 ^~~~~~~~~~~~~~~
ICE については、前回は最適化を部分的に抑えることで対応しましたが、point_line_dist() の一番最後の min_c() を fmin() に変更することで対応できるようです。テストコードも書いてみたりしたのですが再現できなかたったので、Haiku 公式対応待ちでしょうか。
@@ -519,10 +519,9 @@ point_line_dist(BPoint start, BPoint end, BPoint p, float radius)
             p.x, p.y));
     }

-    return min_c(point_point_distance(start, p), point_point_distance(end, p));
+    return fmin(point_point_distance(start, p), point_point_distance(end, p));
6.2.0 からは、各種 linux でも gcc5 からの移行が進むようですが、Haiku は 6.3.0 からかな?

0 件のコメント:

コメントを投稿