File cloog-tests.patch of Package cloog-isl

From fc8b0627b734271db42f5555fcb8c525828f3252 Mon Sep 17 00:00:00 2001
From: Tobias Grosser <tobias@grosser.es>
Date: Sun, 16 Jun 2013 10:46:45 -0700
Subject: [PATCH] Update isl to remove platform dependent behavior

isl commit 9e01482 changed an internal comparision function to ensure
consistent results across different platforms. Differences that have
previously observed between Linux and Solaris 10 should disappear with
the updated isl version.
---
 test/darte.c             |    4 ++--
 test/dartef.f            |    4 ++--
 test/dealII.c            |    7 +++++--
 test/isl/jacobi-shared.c |    2 +-
 test/vasilache.c         |    8 ++++----
 6 files changed, 15 insertions(+), 12 deletions(-)

Index: cloog-0.18.0/test/darte.c
===================================================================
--- cloog-0.18.0.orig/test/darte.c
+++ cloog-0.18.0/test/darte.c
@@ -6,14 +6,14 @@ if (n >= 1) {
     }
   }
   for (t1=-n+2;t1<=n-1;t1++) {
-    if (t1 >= 2) {
+    if (t1 >= 0) {
       for (t3=t1+4;t3<=t1+2*n+2;t3++) {
         if ((t1+t3)%2 == 0) {
           S1(t1+1,1,(-t1+t3-2)/2);
         }
       }
     }
-    for (t2=max(-t1+2,t1+2);t2<=-t1+4;t2++) {
+    for (t2=max(-t1+2,t1+3);t2<=-t1+4;t2++) {
       for (t3=t2+2;t3<=t2+2*n;t3++) {
         if ((t1+t2)%2 == 0) {
           if ((t1+t3)%2 == 0) {
Index: cloog-0.18.0/test/dartef.f
===================================================================
--- cloog-0.18.0.orig/test/dartef.f
+++ cloog-0.18.0/test/dartef.f
@@ -6,14 +6,14 @@ IF (n >= 1) THEN
     END IF
   END DO
   DO t1=-n+2, n-1
-    IF (t1 >= 2) THEN
+    IF (t1 >= 0) THEN
       DO t3=t1+4, t1+2*n+2
         IF (MOD(t1+t3, 2) == 0) THEN
           S1(t1+1,1,(-t1+t3-2)/2)
         END IF
       END DO
     END IF
-    DO t2=MAX(-t1+2,t1+2), -t1+4
+    DO t2=MAX(-t1+2,t1+3), -t1+4
       DO t3=t2+2, t2+2*n
         IF (MOD(t1+t2, 2) == 0) THEN
           IF (MOD(t1+t3, 2) == 0) THEN
Index: cloog-0.18.0/test/dealII.c
===================================================================
--- cloog-0.18.0.orig/test/dealII.c
+++ cloog-0.18.0/test/dealII.c
@@ -3,10 +3,13 @@ for (scat_0=0;scat_0<=min(T_66,T_2-1);sc
   S1(scat_0);
   S2(scat_0);
 }
-if ((T_2 == 0) && (T_67 == 0)) {
+if ((T_2 == 0) && (T_66 >= 0) && (T_67 == 0)) {
   S1(0);
 }
-for (scat_0=max(0,T_66+1);scat_0<=T_2-1;scat_0++) {
+if ((T_66 <= -1) && (T_67 == 0)) {
+  S1(0);
+}
+for (scat_0=max(max(0,T_66+1),-T_67+1);scat_0<=T_2-1;scat_0++) {
   S1(scat_0);
 }
 for (scat_0=T_2;scat_0<=min(T_66,T_67-1);scat_0++) {
Index: cloog-0.18.0/test/isl/jacobi-shared.c
===================================================================
--- cloog-0.18.0.orig/test/isl/jacobi-shared.c
+++ cloog-0.18.0/test/isl/jacobi-shared.c
@@ -1,10 +1,11 @@
 /* Generated from ../../../git/cloog/test/isl/jacobi-shared.cloog by CLooG 0.16.3-2-g5511bef gmp bits in 1.82s. */
 if ((h0+1)%2 == 0) {
-  if ((16*floord(t0-1,16) >= -N+g1+t0+1) && (16*floord(N+15*g1+15*t0+15,16) >= 15*g1+15*t0+19) && (32*floord(t1-1,32) <= g2+t1-3) && (32*floord(t1-1,32) >= -N+g2+t1+1)) {
+  if ((16*floord(t0-1,16) >= -N+g1+t0+1) && (16*floord(g1+t0-3,16) >= -N+g1+t0+1) && (32*floord(t1-1,32) >= -N+g2+t1+1) && (32*floord(g2+t1-3,32) >= t1-32)) {
     for (c0=max(-16*floord(t0-1,16)+t0,-16*floord(g1+t0-3,16)+t0);c0<=min(32,N-g1-1);c0+=16) {
-      c1 = 32*floord(-t1,32)+t1+32;
-      if (c1 <= 32) {
-        S1(c0+g1-1,c1+g2-1);
+      for (c1=-32*floord(t1-1,32)+t1;c1<=min(32,N-g2-1);c1+=32) {
+        if ((c1 >= 1) && (c1 <= 32)) {
+          S1(c0+g1-1,c1+g2-1);
+        }
       }
     }
   }
Index: cloog-0.18.0/test/vasilache.c
===================================================================
--- cloog-0.18.0.orig/test/vasilache.c
+++ cloog-0.18.0/test/vasilache.c
@@ -15,12 +15,12 @@ for (p1=0;p1<=N-1;p1++) {
         S6(p1,p3,p5,p7-1);
         S7(p1,p3,p5,p7);
       }
-      if (p5 <= floord(N-33,32)) {
-        S6(p1,p3,p5,32*p5+31);
-      }
-      if (p5 >= ceild(N-32,32)) {
+      if (p5 >= ceild(N-31,32)) {
         S6(p1,p3,p5,N-1);
       }
+      if (p5 <= floord(N-32,32)) {
+        S6(p1,p3,p5,32*p5+31);
+      }
     }
   }
 }
openSUSE Build Service is sponsored by