! { dg-do compile } ! Test the fix for PR25097, in which subobjects of the optional dummy argument ! could appear as argument A of the PRESENT intrinsic. ! ! Contributed by Joost VandeVondele ! MODULE M1 TYPE T1 INTEGER :: I END TYPE T1 CONTAINS SUBROUTINE S1(D1) TYPE(T1), OPTIONAL :: D1(4) write(6,*) PRESENT(D1%I) ! { dg-error "must not be a subobject" } write(6,*) PRESENT(D1(1)) ! { dg-error "must not be a subobject" } write(6,*) PRESENT(D1) END SUBROUTINE S1 END MODULE END ! { dg-final { cleanup-modules "M1" } }