For the code below stored in xtemp.f90 module abc implicit none contains subroutine xmain() call foo(func("_"//bar())) end subroutine xmain ! function bar() result(yy) character (len=1) :: yy(1) yy = "" end function bar ! elemental function func(yy) result(xy) character (len=*), intent(in) :: yy character (len=len(yy)) :: xy xy = yy end function func ! subroutine foo(cc) character (len=*), intent(in) :: cc(:) print*,cc end subroutine foo end module abc
gfortran -c xtemp.f90 gives xtemp.f90: In function 'xmain': xtemp.f90:8: internal compiler error: in gfc_conv_function_call, at fortran/trans-expr.c:2846 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. gfortran -v gives Built by Equation Solution (http://www.Equation.com). Using built-in specs. Target: i386-pc-mingw32 Configured with: ../gcc-4.4-20081212-mingw/configure --host=i386-pc-mingw32 --build=x86_64-unknown-linux-gnu --target=i386-pc-mingw32 --prefix=/home/gfortran/gcc-home/binary/mingw32/native/x86_32/gcc/4.4-20081212 --with-gcc --with-gnu-ld --with-gnu-as --disable-shared --disable-nls --disable-tls --with-gmp=/home/gfortran/gcc-home/binary/mingw32/native/x86_32/gmp --with-mpfr=/home/gfortran/gcc-home/binary/mingw32/native/x86_32/mpfr --enable-languages=c,fortran,c++ --with-sysroot=/home/gfortran/gcc-home/binary/mingw32/cross/x86_32/gcc/4.4-20081212 --enable-libgomp --enable-threads=win32 --disable-win32-registry Thread model: win32 gcc version 4.4.0 20081212 (experimental) (GCC) -- Summary: ICE with elemental character function Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal 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=38538