fix pr/45972
[official-gcc.git] / gcc / testsuite / gfortran.dg / dependency_28.f90
blob5d70abe395ec5daa948a24cab916add86cb433be
1 ! { dg-do compile }
2 ! { dg-options "-Warray-temporaries" }
3 module foobar
4 type baz
5 integer :: i
6 integer :: j
7 integer :: k
8 integer :: m
9 end type baz
10 contains
11 subroutine foo(a,b,c,i)
12 real, dimension(10) :: a,b
13 type(baz) :: c
14 integer, dimension(10) :: i
15 a(i(1):i(2)) = a(i(1):i(2)) + b(i(1):i(2))
16 a(i(1):i(2)) = a(i(3):i(5)) ! { dg-warning "Creating array temporary" }
17 a(c%i:c%j) = a(c%i:c%j) + b(c%k:c%m)
18 a(c%k:c%m) = a(c%i:c%j) + b(c%k:c%m) ! { dg-warning "Creating array temporary" }
19 end subroutine foo
20 end module foobar
21 ! { dg-final { cleanup-modules "foobar" } }