! { 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\\)" }