1! { dg-do compile }
2! PR fortran/37504
3!
4module m
5  implicit none
6  integer, pointer, protected :: protected_pointer
7  integer, target,  protected :: protected_target
8end module m
9
10program p
11  use m
12  implicit none
13  integer, pointer :: unprotected_pointer
14  ! The next two lines should be rejected; see PR 37513 why
15  ! we get such a strange error message.
16  protected_pointer => unprotected_pointer ! { dg-error "pointer association context" }
17  protected_pointer =  unprotected_pointer ! OK
18  unprotected_pointer => protected_target  ! { dg-error "target has PROTECTED attribute" }
19  unprotected_pointer => protected_pointer ! OK
20end program p
21