M Joonas Pihlaja | 25 Nov 14:01 2010
Picon
Picon

Re: bug trying to upgrade cairo from cairo-1.8.10_1, 1 to cairo-1.10.0_3, 1 on FreeBSD 6.3


Hi Ben,

On Thu, 25 Nov 2010, ben ward wrote:

>   CC     cairo-bentley-ottmann.lo
> cairo-bentley-ottmann.c: In function `edges_compare_x_for_y_general':
> cairo-bentley-ottmann.c:425: internal compiler error: in expand_mult, at
> expmed.c:2653
> Please submit a full bug report,
> with preprocessed source if appropriate.

This looks like flaky __uint128_t support in gcc 3.4.  Could you try
the patch below to see if it fixes the problem for you?

Joonas

diff --git a/src/cairo-wideint-type-private.h b/src/cairo-wideint-type-private.h
index 4c910ed..2d23d17 100644
--- a/src/cairo-wideint-type-private.h
+++ b/src/cairo-wideint-type-private.h
 <at>  <at>  -121,6 +121,11  <at>  <at>  typedef struct _cairo_quorem64 {
     cairo_int64_t      rem;
 } cairo_quorem64_t;

+/* Intrinsic __uint128_t support is broken on gcc 3.4/sparc. */
+#if __GNUC__ == 3 && __GNUC_MINOR__ == 4
+#undef HAVE___UINT128_T
+#endif
+
 /* gcc has a non-standard name. */
 #if HAVE___UINT128_T && !HAVE_UINT128_T
 typedef __uint128_t uint128_t;

--
cairo mailing list
cairo <at> cairographics.org
http://lists.cairographics.org/mailman/listinfo/cairo


Gmane