1! { dg-do run } 2! { dg-options "-fbounds-check" } 3! { dg-shouldfail "Incorrect size of return value in UNPACK intrinsic: should be at least 3, is 2" } 4program main 5 integer, allocatable, dimension(:) :: vector 6 integer, allocatable, dimension(:,:) :: res 7 integer, allocatable, dimension(:,:) :: field 8 logical, allocatable, dimension(:,:) :: mask 9 10 allocate (vector(3)) 11 allocate (mask(2,2)) 12 allocate (res(2,2)) 13 allocate (field(3,2)) 14 15 vector = 1 16 field = 0 17 mask = reshape((/ .TRUE., .TRUE., .FALSE., .TRUE. /),(/2,2/)) 18 res = unpack(vector, mask, field) 19 print *,res 20end program main 21! { dg-output "Fortran runtime error: Incorrect extent in FIELD of UNPACK intrinsic in dimension 1: is 3, should be 2" } 22