For the following invalid code program xtrim_array implicit none character (len=4) :: xx(2) xx = [trim("boy "),trim("girl")] ! invalid -- elements have different lengths print*,"xx = '" // xx(1) // "' '" // xx(2) // "'" end program xtrim_array
compiling and running with gfortran gives gfortran -v -O0 -Wall -fbounds-check -static -g xtrim_array.f90 Driving: gfortran -v -O0 -Wall -fbounds-check -static -g xtrim_array.f90 -lgfortranbegin -lgfortran Using built-in specs. Target: i386-pc-mingw32 Configured with: ../trunk/configure --prefix=/mingw --enable-languages=c,fortran --with-gmp=/home/coudert/local --disable-nls --with-ld=/mingw/bin/ld --with-as=/mingw/bin/as --disable-werror --enable-bootstrap --enable-threads --build=i386-pc-mingw32 --disable-shared --enable-libgomp Thread model: win32 gcc version 4.3.0 20070706 (experimental) c:/programs/gfortran/bin/../libexec/gcc/i386-pc-mingw32/4.3.0/f951.exe xtrim_array.f90 -quiet -dumpbase xtrim_array.f90 -mtune=i386 -auxbase xtrim_array -g -O0 -Wall -version -fbounds-check -fintrinsic-modules-path c:/programs/gfortran/bin/../lib/gcc/i386-pc-mingw32/4.3.0/finclude -o C:\DOCUME~1\vrao\LOCALS~1\Temp/ccaETULf.s GNU F95 version 4.3.0 20070706 (experimental) (i386-pc-mingw32) compiled by GNU C version 4.3.0 20070706 (experimental), GMP version 4.2.1, MPFR version 2.2.1. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 as -o C:\DOCUME~1\vrao\LOCALS~1\Temp/ccg74eom.o C:\DOCUME~1\vrao\LOCALS~1\Temp/ccaETULf.s c:/programs/gfortran/bin/../libexec/gcc/i386-pc-mingw32/4.3.0/collect2.exe -Bstatic c:/programs/g95/lib/crt2.o c:/programs/gfortran/bin/../lib/gcc/i386-pc-mingw32/4.3.0/crtbegin.o -Lc:/programs/gfortran/bin/../lib/gcc/i386-pc-mingw32/4.3.0 -Lc:/programs/gfortran/bin/../lib/gcc -Lc:/programs/g95/lib -Lc:/programs/gfortran/bin/../lib/gcc/i386-pc-mingw32/4.3.0/../../.. C:\DOCUME~1\vrao\LOCALS~1\Temp/ccg74eom.o -lgfortranbegin -lgfortran -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt c:/programs/gfortran/bin/../lib/gcc/i386-pc-mingw32/4.3.0/crtend.o U:\vrao\fortran>a xx = 'boy ' 'girl' It would be nice if gfortran gave a compile-time or run-time error. Mingw G95 Jun 30 2007 with the default options says In file xtrim_array.f90:4 xx = [trim("boy "),trim("girl")] ! invalid -- elements have different lengths 1 Error: Element in character array constructor at (1) has length 4 instead of 3 -- Summary: mismatched character lengths in array Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: vivekrao4 at yahoo dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32707