summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/internal_pack_11.f90
blob: 8f573b4fd95ebc82cdfaa4727d2664e6d6ec6d63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
! { dg-do compile }
! { dg-options "-fdump-tree-original" }
!
! Test the fix for PR43173, where unnecessary calls to internal_pack/unpack
! were being produced below. These references are contiguous and so do not
! need a temporary.
!
! Contributed Tobias Burnus <burnus@gcc.gnu.org>
!
  REAL, allocatable :: ot(:)
  integer :: time_steps

  call foo (ot) ! OK, no temporary
  call foo (ot(0:5:1)) ! Was an unnecessary temporary
  call foo (ot(0:time_steps)) ! Was an unnecessary temporary
  end
! { dg-final { scan-tree-dump-times "unpack" 0 "original" } }
! { dg-final { cleanup-tree-dump "original" } }