This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/77360] New: Self-assignment of allocatable character array


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77360

            Bug ID: 77360
           Summary: Self-assignment of allocatable character array
           Product: gcc
           Version: 6.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: damian at sourceryinstitute dot org
  Target Milestone: ---

As demonstrated below, the assignment of an allocatable character array element
to itself leads to erroneous results with gfortran 6.1.0. The same code yields
the correct output ('a') with gfortran 5.4.0 and 7.0.0.  Dead code plays a
role: the "if (.false.)" statement is required to demonstrate the problem:

$ cat self-assign-char-array.f90 
character(1), allocatable :: linelist(:)
linelist = ['a']
if (.false.) linelist(1) = linelist(1)
linelist(1) = linelist(1)
print *,linelist(1)
end
$ gfortran self-assign-char-array.f90 
$ ./a.out

$ gfortran --version
GNU Fortran (MacPorts gcc6 6.1.0_0) 6.1.0

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]