OSDN Git Service

2010-11-22 Bud Davis <jmdavis@link.com>
authorbdavis <bdavis@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 Nov 2010 16:11:14 +0000 (16:11 +0000)
committerbdavis <bdavis@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 Nov 2010 16:11:14 +0000 (16:11 +0000)
* arith_divide_no_check.f ,arith_divide.f,old_style_init.f90: new
tests.

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

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/arith_divide.f [new file with mode: 0644]
gcc/testsuite/gfortran.dg/arith_divide_no_check.f [new file with mode: 0644]
gcc/testsuite/gfortran.dg/old_style_init.f90 [new file with mode: 0644]

index fbbee38..57a7b42 100644 (file)
@@ -1,3 +1,8 @@
+2010-11-22   Bud Davis  <jmdavis@link.com>
+
+       * arith_divide_no_check.f
+        ,arith_divide.f,old_style_init.f90: new tests.
+
 2010-11-26  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR tree-optimization/46665
diff --git a/gcc/testsuite/gfortran.dg/arith_divide.f b/gcc/testsuite/gfortran.dg/arith_divide.f
new file mode 100644 (file)
index 0000000..5140e2c
--- /dev/null
@@ -0,0 +1,15 @@
+! { dg-do compile }
+! This test executes all code paths in gfc_arith_divide
+! when executed along with it's companion test
+! arith_divide_no_check.f
+        implicit none
+        integer i,j
+        real a,b
+        complex c,d
+        i = 10/40
+        j = 10/0! { dg-error "Division by zero at" }
+        a = 10.0/40.0
+        b = 10.0/0.0! { dg-error "Division by zero at" }
+        c = (1.0,1.0)/(10.0,40.0) !  Not division by zero
+        d = (1.0,10.)/(0.0,0.0)! { dg-error "Division by zero at" }
+        end
diff --git a/gcc/testsuite/gfortran.dg/arith_divide_no_check.f b/gcc/testsuite/gfortran.dg/arith_divide_no_check.f
new file mode 100644 (file)
index 0000000..82ef1c3
--- /dev/null
@@ -0,0 +1,17 @@
+! { dg-do compile }
+! { dg-options "-fno-range-check" }
+! This test executes all code paths in gfc_arith_divide
+! when executed along with it's companion test
+! arith_divide.f
+
+        implicit none
+        integer i,j
+        real a,b
+        complex c,d
+        i = 10/40
+        j = 10/0! { dg-error "Division by zero at" }
+        a = 10.0/40.0
+        b = 10.0/0.0
+        c = (1.0,1.0)/(10.0,40.0)
+        d = (1.0,10.)/(0.0,0.0)
+        end
diff --git a/gcc/testsuite/gfortran.dg/old_style_init.f90 b/gcc/testsuite/gfortran.dg/old_style_init.f90
new file mode 100644 (file)
index 0000000..5319917
--- /dev/null
@@ -0,0 +1,15 @@
+!{ dg-do compile }
+! this routine tests all the execution paths
+! through the routine known as match_old_style_init()
+! it does not make sense in any other context !!
+      subroutine sub1(Z) !{ dg-error "DATA attribute conflicts" }
+      integer Z/10/!{ dg-error "DATA"}
+      end
+      pure function pi(k)
+      integer ,intent(in) :: k
+      integer i / 10 / !{ dg-error "Initialization at " }
+      pi=3.0
+      end function pi
+      subroutine sub2
+      integer I /  /!{ dg-error "Syntax error in DATA" }
+      end