OSDN Git Service

2005-06-28 Thomas Koenig <Thomas.Koenig@online.de>
authortkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Jun 2005 23:07:20 +0000 (23:07 +0000)
committertkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Jun 2005 23:07:20 +0000 (23:07 +0000)
        PR libfortran/22142
        * m4/eoshift1.m4:  Correct bstride (it needs to be multiplied
        by size since it's a char pointer).
        * m4/eoshift1_4.c:  Regenerated.
        * m4/eoshift1_8.c:  Regenerated.

2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/22142
        * gfortran.fortran-torture/execute/intrinsic_eoshift.f90:
        Add testcase also testing eoshift1 for PR 22142.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101398 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_eoshift.f90
libgfortran/ChangeLog
libgfortran/generated/eoshift1_4.c
libgfortran/generated/eoshift1_8.c
libgfortran/m4/eoshift1.m4

index 62cdacc..3f6a4c5 100644 (file)
@@ -1,3 +1,9 @@
+2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>
+
+        PR libfortran/22142
+       * gfortran.fortran-torture/execute/intrinsic_eoshift.f90:
+       Add testcase also testing eoshift1 for PR 22142.
+
 2005-06-28  Richard Henderson  <rth@redhat.com>
 
        * gcc.dg/tree-ssa/20030708-1.c: Remove static from test function.
 2005-06-28  Richard Henderson  <rth@redhat.com>
 
        * gcc.dg/tree-ssa/20030708-1.c: Remove static from test function.
index a607baa..872422d 100644 (file)
@@ -37,6 +37,12 @@ program intrinsic_eoshift
    if (any (a .ne. reshape ((/99, -1, 42, 99, -1, 42, 1, 2, 3/), (/3, 3/)))) &
       call abort
 
    if (any (a .ne. reshape ((/99, -1, 42, 99, -1, 42, 1, 2, 3/), (/3, 3/)))) &
       call abort
 
+   a = reshape ((/1, 2, 3, 4, 5, 6, 7, 8, 9/), (/3, 3/))
+   bo = (/99, -1, 42/)
+   a = eoshift (a, -2, bo, 2)
+   if (any (a .ne. reshape ((/99, -1, 42, 99, -1, 42, 1, 2, 3/), (/3, 3/)))) &
+      call abort
+
    ! Array shift and array bound.
    a = reshape ((/1, 2, 3, 4, 5, 6, 7, 8, 9/), (/3, 3/))
    a = eoshift (a, (/1, 0, -1/), (/99, -1, 42/), 1)
    ! Array shift and array bound.
    a = reshape ((/1, 2, 3, 4, 5, 6, 7, 8, 9/), (/3, 3/))
    a = eoshift (a, (/1, 0, -1/), (/99, -1, 42/), 1)
index f7c2d5c..ac02fb7 100644 (file)
@@ -1,6 +1,14 @@
 2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>
 
        PR libfortran/22142
 2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>
 
        PR libfortran/22142
+       * m4/eoshift1.m4:  Correct bstride (it needs to be multiplied
+       by size since it's a char pointer).
+       * m4/eoshift1_4.c:  Regenerated.
+       * m4/eoshift1_8.c:  Regenerated.
+
+2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>
+
+       PR libfortran/22142
        * m4/eoshift3.m4:  Correct bstride (it needs to be multiplied
        by size since it's a char pointer).
        * m4/eoshift3_4.c:  Regenerated.
        * m4/eoshift3.m4:  Correct bstride (it needs to be multiplied
        by size since it's a char pointer).
        * m4/eoshift3_4.c:  Regenerated.
index 833efa2..cb4dfb5 100644 (file)
@@ -135,7 +135,7 @@ eoshift1_4 (gfc_array_char *ret,
           rstride[n] = ret->dim[dim].stride * size;
           sstride[n] = array->dim[dim].stride * size;
 
           rstride[n] = ret->dim[dim].stride * size;
           sstride[n] = array->dim[dim].stride * size;
 
-          hstride[n] = h->dim[n].stride;
+          hstride[n] = h->dim[n].stride * size;
           n++;
         }
     }
           n++;
         }
     }
index 75d0f1e..379cb4a 100644 (file)
@@ -135,7 +135,7 @@ eoshift1_8 (gfc_array_char *ret,
           rstride[n] = ret->dim[dim].stride * size;
           sstride[n] = array->dim[dim].stride * size;
 
           rstride[n] = ret->dim[dim].stride * size;
           sstride[n] = array->dim[dim].stride * size;
 
-          hstride[n] = h->dim[n].stride;
+          hstride[n] = h->dim[n].stride * size;
           n++;
         }
     }
           n++;
         }
     }
index 1d13f48..906687a 100644 (file)
@@ -136,7 +136,7 @@ eoshift1_`'atype_kind (gfc_array_char *ret,
           rstride[n] = ret->dim[dim].stride * size;
           sstride[n] = array->dim[dim].stride * size;
 
           rstride[n] = ret->dim[dim].stride * size;
           sstride[n] = array->dim[dim].stride * size;
 
-          hstride[n] = h->dim[n].stride;
+          hstride[n] = h->dim[n].stride * size;
           n++;
         }
     }
           n++;
         }
     }