1! { dg-do run }
2! { dg-options "-fbounds-check" }
3! { dg-shouldfail "Unequal character length" }
4
5! PR fortran/31822
6! Verify that runtime checks for matching character length
7! in pointer assignment work.
8
9! Contributed by Tobias Burnus <burnus@gcc.gnu.org>
10
11program ptr
12  implicit none
13  character(len=10), target :: s1
14  call bar((/ s1, s1 /))
15contains
16  subroutine bar(s)
17    character(len=*),target  :: s(2)
18    character(len=17),pointer :: p(:)
19    p => s
20  end subroutine bar
21end program ptr
22
23! { dg-output "Unequal character lengths \\(17/10\\)" }
24