[PPL-devel] [GIT] ppl/ppl(master): Avoid assertion crash on universe polyhedra.
Enea Zaffanella
zaffanella at cs.unipr.it
Tue Apr 13 10:22:12 CEST 2010
Module: ppl/ppl
Branch: master
Commit: d4d1ad3031cd681d2ff48d1e9d6990b5dbe32089
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=d4d1ad3031cd681d2ff48d1e9d6990b5dbe32089
Author: Enea Zaffanella <zaffanella at cs.unipr.it>
Date: Tue Apr 13 10:21:28 2010 +0200
Avoid assertion crash on universe polyhedra.
---
src/termination.cc | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/src/termination.cc b/src/termination.cc
index e2749ab..bd9bc7e 100644
--- a/src/termination.cc
+++ b/src/termination.cc
@@ -853,6 +853,13 @@ all_affine_ranking_functions_PR_original(const Constraint_System& cs,
const dimension_type n = cs.space_dimension() / 2;
const dimension_type m = distance(cs.begin(), cs.end());
+ if (m == 0) {
+ // If there are no constraints at all, we have non-termination,
+ // i.e., no affine ranking function at all.
+ mu_space = NNC_Polyhedron(n + 1, EMPTY);
+ return;
+ }
+
Constraint_System cs_eqs;
Linear_Expression le_ineq;
fill_constraint_system_PR_original(cs, cs_eqs, le_ineq);
More information about the PPL-devel
mailing list