| ! { dg-do compile } |
| ! PR fortran/82934 |
| ! PR fortran/83318 |
| program a |
| character(len=42), allocatable :: f |
| character(len=22), allocatable :: ff |
| call alloc(f, ff) |
| if (len(f) .ne. 42) STOP 1 |
| if (len(ff) .ne. 22) STOP 2 |
| contains |
| subroutine alloc( a, b ) |
| character(len=*), allocatable :: a |
| character(len=22), allocatable :: b |
| character(len=:), allocatable :: c |
| character, allocatable :: d |
| allocate(character(len=*)::a,b) ! { dg-error "Incompatible allocate-object" } |
| allocate(character(len=*)::c) ! { dg-error "Incompatible allocate-object" } |
| allocate(character(len=*)::d) ! { dg-error "Incompatible allocate-object" } |
| end subroutine |
| end program a |