]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR fortran/33317 (CSHIFT/EOSHIFT: Rejects optional dummy for DIM=)
authorJerry DeLisle <jvdelisle@gcc.gnu.org>
Sun, 18 Nov 2007 20:59:41 +0000 (20:59 +0000)
committerJerry DeLisle <jvdelisle@gcc.gnu.org>
Sun, 18 Nov 2007 20:59:41 +0000 (20:59 +0000)
2007-11-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/33317
* gfortran.dg/optional_dim_2.f90: New test.

PR fortran/34139
* gfortran.dg/subref_array_pointer_2.f90: Update test condition.

From-SVN: r130277

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/optional_dim_2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/subref_array_pointer_2.f90

index cf4759f897dd06b4878548f11334c2590548d96b..d25d6119190c7e99a7aebd036b9330e906d9b721 100644 (file)
@@ -1,3 +1,11 @@
+2007-11-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/33317
+       * gfortran.dg/optional_dim_2.f90: New test.
+       
+       PR fortran/34139
+       * gfortran.dg/subref_array_pointer_2.f90: Update test condition.
+       
 2007-11-18  Jakub Jelinek  <jakub@redhat.com>
 
        PR rtl-optimization/34132
diff --git a/gcc/testsuite/gfortran.dg/optional_dim_2.f90 b/gcc/testsuite/gfortran.dg/optional_dim_2.f90
new file mode 100644 (file)
index 0000000..a1ab4c7
--- /dev/null
@@ -0,0 +1,24 @@
+! { dg-do run }
+! PR33317 CSHIFT/EOSHIFT: Rejects optional dummy for DIM=
+! Test case submitted by Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+program test
+ implicit none
+ call sub(bound=(/.false.,.true.,.true.,.true./), dimmy=1_8)
+ call sub()
+contains
+ subroutine sub(bound, dimmy)
+   integer(kind=8), optional :: dimmy
+   logical, optional :: bound(4)
+   logical :: lotto(4)
+   character(20) :: testbuf
+   lotto = .false.
+   lotto = cshift((/.true.,.false.,.true.,.false./),1,dim=dimmy)
+   write(testbuf,*) lotto
+   if (trim(testbuf).ne." F T F T") call abort
+   lotto = .false.
+   lotto = eoshift((/.true.,.true.,.true.,.true./),1,boundary=bound,dim=dimmy)
+   lotto = eoshift(lotto,1,dim=dimmy)
+   write(testbuf,*) lotto
+   if (trim(testbuf).ne." T T F F") print *, testbuf
+ end subroutine
+end program test
index 97aabf1e16087ddf5db40d0c3a5a90bdc51af2b0..e96d75507d93776dd28cd553c5dfab30823ce6ed 100644 (file)
@@ -81,7 +81,7 @@
   tar3%t => tar1
   ptr3 => tar3%t%r
   ptr3 = cos (ptr3)
-  if (any (ptr3 .ne. (/cos(1.0_4), cos(3.0_4)/))) call abort ()
+  if (any (abs(ptr3 - (/cos(1.0_4), cos(3.0_4)/)) >= epsilon(1.0_4))) call abort ()
 
   ptr2 => tar3%t(:)%chr(2:3)
   ptr2 = " x"