See the example below
program test
character(10),dimension(5):: models = (/\"feddes.swp\", \"jarvis89.swp\", \"jarvis10.swp\" , \"pem.swp\", \"van.swp\"
The original code is accepted by ifort but it is not standard fortran, hence the error from gfortran. If you supply the option -std
to ifort it will print warnings when the compiler allows extensions such as this.
You have some lengths 12 in the constructor, so it may be better to use length 12.
Also, use instead
character(len=12), dimension(5) :: models = [character(len=12) :: "feddes.swp", &
"jarvis89.swp", "jarvis10.swp", "pem.swp", "van.swp"]
Possibly even better, if you have compiler support, is
character(len=*), dimension(*) :: ...