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 ...

questionAnswers(1)

yourAnswerToTheQuestion