| ! { dg-do run } |
| ! { dg-options "-O -fdump-tree-original" } |
| ! Test handling of the optional argument. |
| |
| MODULE M1 |
| INTEGER, PARAMETER :: dp=KIND(0.0D0) |
| CONTAINS |
| SUBROUTINE S1(a) |
| REAL(dp), DIMENSION(45), INTENT(OUT), & |
| OPTIONAL :: a |
| if (present(a)) STOP 1 |
| END SUBROUTINE S1 |
| SUBROUTINE S2(a) |
| REAL(dp), DIMENSION(:, :), INTENT(OUT), & |
| OPTIONAL :: a |
| CALL S1(a) |
| END SUBROUTINE |
| END MODULE M1 |
| |
| USE M1 |
| CALL S2() |
| END |
| ! { dg-final { scan-tree-dump-times "arg_ptr" 5 "original" } } |
| ! { dg-final { scan-tree-dump-not "_gfortran_internal_unpack" "original" } } |