1! { dg-do run }
2!
3! PR fortran/57596
4!
5! Contributed by Valery Weber
6!
7PROGRAM main
8  IMPLICIT NONE
9  call get ()
10  call get2 ()
11contains
12  SUBROUTINE get (c_val)
13    CHARACTER( : ), INTENT( INOUT ), ALLOCATABLE, OPTIONAL :: c_val
14    CHARACTER( 10 ) :: c_val_tmp
15    if(present(c_val)) call abort()
16  END SUBROUTINE get
17  SUBROUTINE get2 (c_val)
18    CHARACTER( : ), INTENT( OUT ), ALLOCATABLE, OPTIONAL :: c_val
19    CHARACTER( 10 ) :: c_val_tmp
20    if(present(c_val)) call abort()
21  END SUBROUTINE get2
22END PROGRAM main
23