! { dg-do compile } ! Test the fixes for PR38917 and 38918, in which the NULL values caused errors. ! ! Contributed by Dick Hendrickson ! and Tobias Burnus ! SUBROUTINE PF0009 ! PR38918 TYPE :: HAS_POINTER INTEGER, POINTER :: PTR_S END TYPE HAS_POINTER TYPE (HAS_POINTER) :: PTR_ARRAY(5) DATA PTR_ARRAY(1)%PTR_S /NULL()/ end subroutine pf0009 SUBROUTINE PF0005 ! PR38917 REAL, SAVE, POINTER :: PTR1 INTEGER, POINTER :: PTR2(:,:,:) CHARACTER(LEN=1), SAVE, POINTER :: PTR3(:) DATA PTR1 / NULL() / DATA PTR2 / NULL() / DATA PTR3 / NULL() / end subroutine pf0005 ! Tobias pointed out that this would cause an ICE rather than an error. subroutine tobias integer, pointer :: ptr(:) data ptr(1) /NULL()/ ! { dg-error "must be a full array" } end subroutine tobias