[PPL-devel] [Bug middle-end/40981] aermod.f90 ICEs on -O2 -fgraphite-identity -floop-strip-mine

Sebastian Pop sebpop at gmail.com
Fri Aug 14 19:16:35 CEST 2009


> Actually the error in gdb has changed with 1677_max.diff...
>

As expected: see the gcc_assert in the patch

+/* Return in RES the maximum of the linear expression LE on polyhedron PS.  */
+
+void
+ppl_max_for_le (ppl_Pointset_Powerset_C_Polyhedron_t ps,
+		ppl_Linear_Expression_t le, Value res)
+{
+  ppl_Coefficient_t num, denom;
+  Value dv, nv;
+  int maximum;
+
+  value_init (nv);
+  value_init (dv);
+  ppl_new_Coefficient (&num);
+  ppl_new_Coefficient (&denom);
+  ppl_Pointset_Powerset_C_Polyhedron_maximize (ps, le, num, denom, &maximum);
+
+  if (maximum)
+    {
+      ppl_Coefficient_to_mpz_t (num, nv);
+      ppl_Coefficient_to_mpz_t (denom, dv);
+      gcc_assert (value_notzero_p (dv));
+      value_division (res, nv, dv);
+    }
+
+  value_clear (nv);
+  value_clear (dv);
+  ppl_delete_Coefficient (num);
+  ppl_delete_Coefficient (denom);
+}

What worries me is that PPL finds a maximum, but that is not a valid
max, as the denominator is zero.  Roberto, could you please look at
the bug http://gcc.gnu.org/PR40981 ?

Thanks,
Sebastian

> Program exited with code 04.
> (gdb) bt
> No stack.
>
> so I am no longer able to get a back trace.

That's because you do not load the gdbinit.in from the gcc dir, where
you have the following breakpoints:

# Put breakpoints at exit and fancy_abort in case abort is mapped
# to either fprintf/exit or fancy_abort.
b fancy_abort

# Put a breakpoint on internal_error to help with debugging ICEs.
b internal_error



More information about the PPL-devel mailing list