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