! { dg-do run }
! { dg-options "-std=f2008 -fcheck=bounds" }
! { dg-shouldfail "Bounds check" }
! PR fortran/29785
! Check that -fcheck=bounds catches too small target at runtime for
! pointer rank remapping.
! Contributed by Daniel Kraft, d@domob.eu.
PROGRAM main
  IMPLICIT NONE
  INTEGER, POINTER :: ptr(:, :)
  INTEGER :: n
  n = 10
  BLOCK
    INTEGER, TARGET :: arr(2*n)
    ! These are ok.
    ptr(1:5, 1:2) => arr
    ptr(1:5, 1:2) => arr(::2)
    ptr(-5:-1, 11:14) => arr
    ! This is not.
    ptr(1:3, 1:5) => arr(::2)
  END BLOCK
END PROGRAM main
! { dg-output "At line 26 of .*\nFortran runtime error: Target of rank remapping is too small \\(10 < 15\\)" }