
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