Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/gfortran.dg/power_5.f90 @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/gfortran.dg/power_5.f90 Fri Oct 27 22:46:09 2017 +0900 @@ -0,0 +1,35 @@ +! { dg-do run } +! { dg-options "-ffrontend-optimize -fdump-tree-original" } +! PR 57071 - Check that 1**k is transformed into 1 +program main + implicit none + integer, parameter :: n = 3 + integer(kind=8), dimension(-n:n) :: a + integer, dimension(-n:n) :: c, d + integer :: m + integer :: i, v + integer (kind=2) :: i2 + + v = 1 + m = n + ! Test in scalar expressions + do i=-n,n + if (v /= 1**i) call abort + end do + + ! Test in array constructors + a(-m:m) = [ (1**i, i= -m, m) ] + if (any(a .ne. v)) call abort + + ! Test in array expressions + c = [ ( i, i = -n , n ) ] + d = 1**c + if (any(d .ne. v)) call abort + + ! Test in different kind expressions + do i2=-n,n + if (v /= 1**i2) call abort + end do + +end program main +! { dg-final { scan-tree-dump-times "_gfortran_pow_i4_i4" 0 "original" } }