! { dg-do compile } ! PR fortran/37504 ! module m implicit none integer, pointer, protected :: protected_pointer integer, target, protected :: protected_target end module m program p use m implicit none integer, pointer :: unprotected_pointer ! The next two lines should be rejected; see PR 37513 why ! we get such a strange error message. protected_pointer => unprotected_pointer ! { dg-error "pointer association context" } protected_pointer = unprotected_pointer ! OK unprotected_pointer => protected_target ! { dg-error "target has PROTECTED attribute" } unprotected_pointer => protected_pointer ! OK end program p