[Bug fortran/14067] New: [gfortran] ICE when character data statement overflows declared size

bdavis9659 at comcast dot net gcc-bugzilla@gcc.gnu.org
Sat Feb 7 20:51:00 GMT 2004


A character string provided in a data statement that is larger than declared
variable size causes an ICE.

This code is not standard conforming.  

gfortran should either:

a> Issue an error that the character string in the data statement cannot be
larger than the variable size.  { is smaller OK? or does it have to be exact for
character variables ? i dunno but it seems reasonable }

b> Issue a warning and truncate the string.


g77 does half of option (b). g77 misses the warning, but does not do any harm.


To duplicate:

$ cat bigstring.f
      PROGRAM GNEXDATA
      CHARACTER*31 GNCRMESS
C                             1         2         3         4
C                    1234567890123456789012345678901234567890
      DATA GNCRMESS/'   *** COASTAL RADAR    NOT LOADED *** '/
      PRINT*,GNCRMESS
      RETURN
      END
$ /usr/local/bin/gfortran -static bigstring.f
f951: ../../gcc/gcc/fortran/trans-const.c:109: gfc_conv_string_init: Assertion
`len >= slen' failed.
bigstring.f: In function `MAIN__':
bigstring.f:8: internal compiler error: Aborted
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
$ g77 bigstring.f
$ ./a.out
    *** COASTAL RADAR    NOT LOA
$ /usr/local/bin/gfortran --version
GNU Fortran 95 (GCC 3.5-tree-ssa 20040207 (merged 20040126))
Copyright (C) 2003 Free Software Foundation, Inc.

-- 
           Summary: [gfortran]  ICE when character data statement overflows
                    declared size
           Product: gcc
           Version: tree-ssa
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bdavis9659 at comcast dot net
                CC: gcc-bugs at gcc dot gnu dot org


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



More information about the Gcc-bugs mailing list