| ! { dg-do compile } | |
| ! { dg-options "-O2 -fdump-tree-original" } | |
| subroutine i1(a) | |
| integer :: a(20) | |
| a = 0; | |
| end subroutine | |
| subroutine i2(a) | |
| integer :: a(20) | |
| a(:) = 0; | |
| end subroutine | |
| subroutine i3(a) | |
| integer :: a(20) | |
| a(1:20) = 0; | |
| end subroutine | |
| subroutine r1(a) | |
| real :: a(20) | |
| a = 0.0; | |
| end subroutine | |
| subroutine r2(a) | |
| real :: a(20) | |
| a(:) = 0.0; | |
| end subroutine | |
| subroutine r3(a) | |
| real :: a(20) | |
| a(1:20) = 0.0; | |
| end subroutine | |
| subroutine z1(a) | |
| complex :: a(20) | |
| a = 0; | |
| end subroutine | |
| subroutine z2(a) | |
| complex :: a(20) | |
| a(:) = 0; | |
| end subroutine | |
| subroutine z3(a) | |
| complex :: a(20) | |
| a(1:20) = 0; | |
| end subroutine | |
| subroutine l1(a) | |
| logical :: a(20) | |
| a = .false.; | |
| end subroutine | |
| subroutine l2(a) | |
| logical :: a(20) | |
| a(:) = .false.; | |
| end subroutine | |
| subroutine l3(a) | |
| logical :: a(20) | |
| a(1:20) = .false.; | |
| end subroutine | |
| ! { dg-final { scan-tree-dump-times "memset" 12 "original" } } |