Variáveis de caracteres alocáveis no Fortran
Meu código (simplificado para o que eu acho relevante para esta pergunta) é
PROGRAM test
IMPLICIT NONE
CHARACTER(len=37) input
CHARACTER(len=:), allocatable :: input_trim
WRITE(*,*) 'Filename?'
READ(*,*) input
ALLOCATE(character(len=LEN(TRIM(input))) :: input_trim)
input_trim=trim(input)
.
.
.
END PROGRAM test
Funciona bem com o compilador Fortran da Intel, mas o gfortran me dá alguns erros, o primeiro deles na linha dizendo
CHARACTER(len=:), allocatable :: input_trim
Não tenho certeza de qual compilador está "certo" em relação ao padrão Fortran. Além disso, não sei como conseguir o que preciso de uma maneira diferente ?! Eu acho que o que estou fazendo é mais uma solução alternativa. O que eu preciso é de uma variável de caractere contendo exatamente o nome do arquivo que foi inserido sem os seguintes espaços.
EDIT: O erro é "Erro de sintaxe na declaração CHARACTER". gfortran --version me dá "GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)"
EDIT 2: Você está certo quanto à alocação: com ifort, eu não preciso disso. E o gfortran trava antes disso, então talvez ele também não precise da alocação, mas não posso testar isso no momento ...