! { dg-do compile } | |
! { dg-additional-options "-march=core-avx2" { target x86_64-*-* i?86-*-* } } | |
subroutine foo | |
integer :: a, b, c, d, e | |
integer, dimension(:), allocatable :: f, g, h | |
call zoo (a) | |
call zoo (b) | |
call zoo (c) | |
if(a == b) then | |
allocate(g(0:d-1), h(0:d-1)) | |
else | |
allocate(g(1), h(1)) | |
if (b /= 0) then | |
call zoo(b) | |
endif | |
endif | |
if(a == b) then | |
do d=0,c-1 | |
e = e + g(d) | |
if(d == 0) then | |
h(d) = 0 | |
else | |
h(d) = h(d-1) + g(d-1) | |
endif | |
end do | |
endif | |
if(a == b) then | |
allocate(f(e), g(e)) | |
endif | |
if(a == 0) then | |
call boo(e) | |
endif | |
end subroutine foo |