OSDN Git Service

2007-11-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 18 Nov 2007 20:59:41 +0000 (20:59 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 18 Nov 2007 20:59:41 +0000 (20:59 +0000)
PR fortran/33317
* gfortran.dg/optional_dim_2.f90: New test.

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

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

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 cf4759f..d25d611 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 97aabf1..e96d755 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"