! { dg-do compile } ! { dg-options "-fcoarray=lib" } ! PR fortran/102458 - standard intrinsics excluded in constant expressions subroutine s1 integer :: a(command_argument_count()) = 1 ! { dg-error "Automatic array" } print *, a end program p block integer :: a(get_team()) = 1 ! { dg-error "Automatic array" } print *, a end block end subroutine s2 integer :: a(num_images()) = 1 ! { dg-error "Automatic array" } print *, a end function f() block integer :: a(team_number()) = 0 ! { dg-error "Automatic array" } a = 1 end block end subroutine s3 integer :: a(this_image()) = 1 ! { dg-error "Automatic array" } print *, a end subroutine s4 integer, parameter :: n = 4 integer, parameter :: x(transfer(n, n)) = 1 ! legal integer :: y(transfer(n, n)) = 2 ! legal integer, parameter :: k = size (x) ! ok ! integer, parameter :: m = size (y) ! fails, tracked separately print *, k, x, y if (k /= size (y)) stop 1 end