re PR fortran/28439 ([4.1 only] Multiple evaluations of arithmetic if condition)
authorSteven G. Kargl <kargls@comcast.net>
Mon, 24 Jul 2006 16:54:01 +0000 (16:54 +0000)
committerSteven G. Kargl <kargl@gcc.gnu.org>
Mon, 24 Jul 2006 16:54:01 +0000 (16:54 +0000)
2006-07-24  Steven G. Kargl  <kargls@comcast.net>

PR fortran/28439
* gfortran.dg/arithmetic_if.f90:  New test.

From-SVN: r115718

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

index 4f044f52f8c0b37b616ebd72fac6634b9ec02851..89ed839a13d569c1df87edd13c6a181d9c09d932 100644 (file)
@@ -1,3 +1,8 @@
+2006-07-24  Steven G. Kargl  <kargls@comcast.net>
+
+       PR fortran/28439
+       * gfortran.dg/arithmetic_if.f90:  New test.
+
 2006-07-24  Uros Bizjak  <uros@kss-loka.si>
 
        * gcc.dg/visibility-11.c: Enlarge test array to 1024 bytes to
diff --git a/gcc/testsuite/gfortran.dg/arithmetic_if.f90 b/gcc/testsuite/gfortran.dg/arithmetic_if.f90
new file mode 100644 (file)
index 0000000..dc8645f
--- /dev/null
@@ -0,0 +1,31 @@
+! { dg-do run }
+! { dg-options "-w" }
+! Test program for PR 28439
+integer function myfunc(i)
+   integer i
+   integer, save :: value = 2
+   value = value - 1 + 0 * i
+   myfunc = value
+end function myfunc
+
+program pr28439
+
+   integer myfunc
+      
+   if (myfunc(0)) 10, 20, 30  ! Should go to 10
+10 call abort
+20 call abort
+
+30 if (myfunc(0)) 40, 50, 60  ! Should go to 20
+40 call abort
+60 call abort
+
+50 if (myfunc(0)) 70, 80, 90  ! Should go to 30
+80 call abort
+90 call abort
+
+70 continue
+
+end program pr28439
+
+