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