1! { dg-do run } 2! { dg-options "-O -fdump-tree-original" } 3! Test handling of the optional argument. 4 5MODULE M1 6 INTEGER, PARAMETER :: dp=KIND(0.0D0) 7CONTAINS 8 SUBROUTINE S1(a) 9 REAL(dp), DIMENSION(45), INTENT(OUT), & 10 OPTIONAL :: a 11 if (present(a)) STOP 1 12 END SUBROUTINE S1 13 SUBROUTINE S2(a) 14 REAL(dp), DIMENSION(:, :), INTENT(OUT), & 15 OPTIONAL :: a 16 CALL S1(a) 17 END SUBROUTINE 18END MODULE M1 19 20USE M1 21CALL S2() 22END 23! { dg-final { scan-tree-dump-times "arg_ptr" 5 "original" } } 24! { dg-final { scan-tree-dump-not "_gfortran_internal_unpack" "original" } } 25