diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/dependency_28.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/dependency_28.f90 | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/dependency_28.f90 b/gcc/testsuite/gfortran.dg/dependency_28.f90 new file mode 100644 index 000000000..5d70abe39 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/dependency_28.f90 @@ -0,0 +1,21 @@ +! { dg-do compile } +! { dg-options "-Warray-temporaries" } +module foobar + type baz + integer :: i + integer :: j + integer :: k + integer :: m + end type baz +contains + subroutine foo(a,b,c,i) + real, dimension(10) :: a,b + type(baz) :: c + integer, dimension(10) :: i + a(i(1):i(2)) = a(i(1):i(2)) + b(i(1):i(2)) + a(i(1):i(2)) = a(i(3):i(5)) ! { dg-warning "Creating array temporary" } + a(c%i:c%j) = a(c%i:c%j) + b(c%k:c%m) + a(c%k:c%m) = a(c%i:c%j) + b(c%k:c%m) ! { dg-warning "Creating array temporary" } + end subroutine foo +end module foobar +! { dg-final { cleanup-modules "foobar" } } |