summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/array_section_2.f90
blob: ed5208cf3ada6915d7f6489e333b464944fed00d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
! { dg-do compile }
! { dg-options "-fdump-tree-original" }
!
! PR38033 - size(a) was not stabilized correctly and so the expression was
! evaluated twice outside the loop and then within the scalarization loops.
!
! Contributed by Thomas Bruel  <tmbdev@gmail.com>
!
program test
   integer, parameter :: n = 100
   real, pointer :: a(:),temp(:)  ! pointer or allocatable have the same effect
   allocate(a(n), temp(n))
   temp(1:size(a)) = a
end program
! { dg-final { scan-tree-dump-times "MAX_EXPR\[^\n\t\]+ubound\[^\n\t\]+lbound" 1 "original" } }
! { dg-final { cleanup-tree-dump "original" } }