Given this input as an example: cat enderr.f90 program test character(len=10) :: str str = '123' read( str, *, end=10 ) i,x 10 continue print*,i, x end program test
gfortran -fdump-tree-original gives the following with two garbage characters right after the __st_parameter_dtquire as shown below: MAIN__ () { real4 x; char str[1:10]; int4 i; _gfortran_copy_string (10, &str, 3, "123"); { struct __st_parameter_dtquireZ dt_parm.0; dt_parm.0.common.filename = "enderr.f90"; dt_parm.0.common.line = 4; dt_parm.0.internal_unit = &str; dt_parm.0.internal_unit_len = 10; dt_parm.0.internal_unit_desc = 0B; dt_parm.0.common.unit = 0; dt_parm.0.common.flags = 16520; _gfortran_st_read (&dt_parm.0); _gfortran_transfer_integer (&dt_parm.0, &i, 4); _gfortran_transfer_real (&dt_parm.0, &x, 4); _gfortran_st_read_done (&dt_parm.0); switch (dt_parm.0.common.flags & 3) { case 2:; goto __label_000010; } } --- snip --- -- Summary: Garbage in output of -fdump-tree-original Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jvdelisle at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25587