aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g77.dg/bprob/g77-bprob-1.f
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g77.dg/bprob/g77-bprob-1.f')
-rw-r--r--gcc/testsuite/g77.dg/bprob/g77-bprob-1.f330
1 files changed, 0 insertions, 330 deletions
diff --git a/gcc/testsuite/g77.dg/bprob/g77-bprob-1.f b/gcc/testsuite/g77.dg/bprob/g77-bprob-1.f
deleted file mode 100644
index 73f04405b9b..00000000000
--- a/gcc/testsuite/g77.dg/bprob/g77-bprob-1.f
+++ /dev/null
@@ -1,330 +0,0 @@
-C Test profile-directed block ordering with various Fortran 77 constructs
-C to catch basic regressions in the functionality.
-
- program bprob1
- implicit none
- integer i,j,k,n
- integer result
- integer lpall, ieall, gtall
- integer lpval, ieval, gtval
-
- lpval = lpall()
- ieval = ieall()
- gtval = gtall()
- if ((lpval .ne. 1) .or. (ieval .ne. 1) .or. (gtval .ne. 1)) then
- call abort
- end if
-
- end
-
-C Pass a value through a function to thwart optimization.
- integer function foo(i)
- implicit none
- integer i
- foo = i
- end
-
-C Test various flavors of GOTO and compare results against expected values.
- integer function gtall()
- implicit none
- integer gt1, gt2, gt3, gt4, gt5
- integer gtval
-
- gtall = 1
- gtval = 0
- gtval = gtval + gt1(0)
- gtval = gtval + gt1(1)
- if (gtval .ne. 3) then
- print *,"gtall part 1: ", gtval, 3
- gtall = 0
- end if
-
- gtval = 0
- gtval = gtval + gt2(3)
- gtval = gtval + gt2(30)
- if (gtval .ne. 12) then
- print *,"gtall part 2: ", gtval, 12
- gtall = 0
- end if
-
- gtval = 0
- gtval = gtval + gt3(0)
- gtval = gtval + gt3(3)
- if (gtval .ne. 48) then
- print *,"gtall part 3: ", gtval, 48
- gtall = 0
- end if
-
- gtval = 0
- gtval = gtval + gt4(1)
- gtval = gtval + gt4(2)
- gtval = gtval + gt4(3)
- if (gtval .ne. 14) then
- print *,"gtall part 4: ", gtval, 14
- gtall = 0
- end if
-
- gtval = 0
- gtval = gtval + gt5(0)
- gtval = gtval + gt5(-1)
- gtval = gtval + gt5(5)
- if (gtval .ne. 14) then
- print *,"gtall part 5: ", gtval, 14
- gtall = 0
- end if
- end
-
-C Test simple GOTO.
- integer function gt1(f)
- implicit none
- integer f
- if (f .ne. 0) goto 100
- gt1 = 1
- goto 101
- 100 gt1 = 2
- 101 continue
- end
-
-C Test simple GOTO again, this time out of a DO loop.
- integer function gt2(f)
- implicit none
- integer f
- integer i
- do i=1,10
- if (i .eq. f) goto 100
- end do
- gt2 = 4
- goto 101
- 100 gt2 = 8
- 101 continue
- end
-
-C Test computed GOTO.
- integer function gt3(i)
- implicit none
- integer i
- gt3 = 8
- goto (101, 102, 103, 104), i
- goto 105
- 101 gt3 = 1024
- goto 105
- 102 gt3 = 2048
- goto 105
- 103 gt3 = 16
- goto 105
- 104 gt3 = 4096
- goto 105
- 105 gt3 = gt3 * 2
- end
-
-C Test assigned GOTO.
- integer function gt4(i)
- implicit none
- integer i
- integer label
- assign 101 to label
- if (i .eq. 2) assign 102 to label
- if (i .eq. 3) assign 103 to label
- goto label, (101, 102, 103)
- 101 gt4 = 1
- goto 104
- 102 gt4 = 2
- goto 104
- 103 gt4 = 4
- 104 gt4 = gt4 * 2
- end
-
-C Test arithmetic IF (bundled with the GOTO variants).
- integer function gt5(i)
- implicit none
- integer i
- gt5 = 1
- if (i) 101, 102, 103
- 101 gt5 = 2
- goto 104
- 102 gt5 = 4
- goto 104
- 103 gt5 = 8
- 104 continue
- end
-
-C Run all of the loop tests and check results against expected values.
- integer function lpall()
- implicit none
- integer loop1, loop2
- integer loopval
-
- lpall = 1
- loopval = 0
- loopval = loopval + loop1(1,0)
- loopval = loopval + loop1(1,2)
- loopval = loopval + loop1(1,7)
- if (loopval .ne. 12) then
- print *,"lpall part 1: ", loopval, 12
- lpall = 0
- end if
-
- loopval = 0
- loopval = loopval + loop2(1,0,0,0)
- loopval = loopval + loop2(1,1,0,0)
- loopval = loopval + loop2(1,1,3,0)
- loopval = loopval + loop2(1,1,3,1)
- loopval = loopval + loop2(1,3,1,5)
- loopval = loopval + loop2(1,3,7,3)
- if (loopval .ne. 87) then
- print *,"lpall part 2: ", loopval, 87
- lpall = 0
- end if
- end
-
-C Test a simple DO loop.
- integer function loop1(r,n)
- implicit none
- integer r,n,i
-
- loop1 = r
- do i=1,n
- loop1 = loop1 + 1
- end do
- end
-
-C Test nested DO loops.
- integer function loop2(r, l, m, n)
- implicit none
- integer r,l,m,n
- integer i,j,k
- loop2 = r
- do i=1,l
- do j=1,m
- do k=1,n
- loop2 = loop2 + 1
- end do
- end do
- end do
- end
-
-C Test various combinations of IF-THEN-ELSE and check results against
-C expected values.
- integer function ieall()
- implicit none
- integer ie1, ie2, ie3
- integer ieval
- ieall = 1
- ieval = 0
-
- ieval = ieval + ie1(0,2)
- ieval = ieval + ie1(0,0)
- ieval = ieval + ie1(1,2)
- ieval = ieval + ie1(10,2)
- ieval = ieval + ie1(11,11)
- if (ieval .ne. 31) then
- print *,"ieall part 1: ", ieval, 31
- ieall = 0
- end if
-
- ieval = 0
- ieval = ieval + ie2(0)
- ieval = ieval + ie2(2)
- ieval = ieval + ie2(2)
- ieval = ieval + ie2(2)
- ieval = ieval + ie2(3)
- ieval = ieval + ie2(3)
- if (ieval .ne. 23) then
- print *,"ieall part 2: ", ieval, 23
- ieall = 0
- end if
-
- ieval = 0
- ieval = ieval + ie3(11,19)
- ieval = ieval + ie3(25,27)
- ieval = ieval + ie3(11,22)
- ieval = ieval + ie3(11,10)
- ieval = ieval + ie3(21,32)
- ieval = ieval + ie3(21,20)
- ieval = ieval + ie3(1,2)
- ieval = ieval + ie3(32,31)
- ieval = ieval + ie3(3,0)
- ieval = ieval + ie3(0,47)
- ieval = ieval + ie3(65,65)
- if (ieval .ne. 246) then
- print *,"ieall part 3: ", ieval, 246
- ieall = 0
- end if
- end
-
-C Test IF-THEN-ELSE.
- integer function ie1(i,j)
- implicit none
- integer i,j
- integer foo
-
- ie1 = 0
- if (i .ne. 0) then
- if (j .ne. 0) then
- ie1 = foo(4)
- else
- ie1 = foo(1024)
- end if
- else
- if (j .ne. 0) then
- ie1 = foo(1)
- else
- ie1 = foo(2)
- end if
- end if
- if (i .gt. j) then
- ie1 = foo(ie1*2)
- end if
- if (i .gt. 10) then
- if (j .gt. 10) then
- ie1 = foo(ie1*4)
- end if
- end if
- end
-
-C Test a series of simple IF-THEN statements.
- integer function ie2(i)
- implicit none
- integer i
- integer foo
- ie2 = 0
-
- if (i .eq. 0) then
- ie2 = foo(1)
- end if
- if (i .eq. 1) then
- ie2 = foo(1024)
- end if
- if (i .eq. 2) then
- ie2 = foo(2)
- end if
- if (i .eq. 3) then
- ie2 = foo(8)
- end if
- if (i .eq. 4) then
- ie2 = foo(2048)
- end if
-
- end
-
-C Test nested IF statements and IF with compound expressions.
- integer function ie3(i,j)
- implicit none
- integer i,j
- integer foo
-
- ie3 = 1
- if ((i .gt. 10) .and. (j .gt. i) .and. (j .lt. 20)) then
- ie3 = foo(16)
- end if
- if (i .gt. 20) then
- if (j .gt. i) then
- if (j .lt. 30) then
- ie3 = foo(32)
- end if
- end if
- end if
- if ((i .eq. 3) .or. (j .eq. 47) .or. (i .eq.j)) then
- ie3 = foo(64)
- end if
- end