| ! { dg-do compile } |
| ! { dg-options "-std=gnu" } |
| ! PR100154 - ICE in gfc_conv_procedure_call, at fortran/trans-expr.c:6131 |
| |
| program p |
| implicit none |
| integer :: n |
| character, target :: c |
| character(len=0) :: c0 |
| character(len=:), allocatable :: cc |
| n = fget(cc) |
| n = fget('a') ! { dg-error "must be a variable" } |
| n = fget(c0) ! { dg-error "must have length at least 1" } |
| call fget('x') ! { dg-error "must be a variable" } |
| n = fgetc(5,'a') ! { dg-error "must be a variable" } |
| call fgetc(5,c0) ! { dg-error "must have length at least 1" } |
| call fgetc(5,c,1) ! { dg-error "must be a variable" } |
| call fputc(5,'x',1) ! { dg-error "must be a variable" } |
| n = fget (ptr_returning_func()) |
| print *, c |
| contains |
| function ptr_returning_func () result (res) |
| character, pointer :: res |
| res => c |
| end |
| end |