[Bug fortran/45170] [F2003] allocatable character lengths

damian at rouson dot net gcc-bugzilla@gcc.gnu.org
Tue Aug 9 02:11:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45170

Damian Rouson <damian at rouson dot net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |damian at rouson dot net

--- Comment #19 from Damian Rouson <damian at rouson dot net> 2011-08-09 02:09:56 UTC ---
Comment 9 states that gfortran does not yet support "function result variables
which are character(len=:), pointer".  Presumably this also implies a lack of
support for replacing these with allocatable, deferred-length character
variables.  I'm adding the case below because it produces an ICE with gfortran
4.6.1:

$ cat speaker.F90
module speaker_class
  type speaker
  contains
    procedure :: speak
  end type
contains
  function speak(this)
    class(speaker) ,intent(in) :: this
    character(:) ,allocatable :: speak
  end function
  subroutine say_something(somebody)
    class(speaker) :: somebody
    print *,somebody%speak()
  end subroutine
end module

$ gfortran -c speaker.F90
speaker.F90: In function 'say_something':
speaker.F90:13:0: internal compiler error: in fold_convert_loc, at
fold-const.c:1906
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

$ gfortran --version
GNU Fortran (GCC) 4.6.1 20110325 (prerelease)
Copyright (C) 2011 Free Software Foundation, Inc.

GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of GNU Fortran
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING



More information about the Gcc-bugs mailing list