[Patch, fortran] PR35339 Optimize implied do loops in io statements
Dominique d'Humières
dominiq@lps.ens.fr
Thu Jun 1 14:37:00 GMT 2017
> Le 1 juin 2017 à 16:19, Dominique d'Humières <dominiq@lps.ens.fr> a écrit :
>
> I see
>
> FAIL: gfortran.dg/deferred_character_2.f90 -O1 execution test
> FAIL: gfortran.dg/deferred_character_2.f90 -O2 execution test
> FAIL: gfortran.dg/deferred_character_2.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions execution test
> FAIL: gfortran.dg/deferred_character_2.f90 -O3 -g execution test
> FAIL: gfortran.dg/deferred_character_2.f90 -Os execution test
>
> Dominique
Reduced test
PROGRAM hello
IMPLICIT NONE
CHARACTER(LEN=:),DIMENSION(:),ALLOCATABLE :: array_lineas
CHARACTER(LEN=:),DIMENSION(:),ALLOCATABLE :: array_copia
character (3), dimension (2) :: array_fijo = ["abc","def"]
character (100) :: buffer
INTEGER :: largo , cant_lineas , i
write (buffer, "(2a3)") array_fijo
largo = LEN (array_fijo)
cant_lineas = size (array_fijo, 1)
ALLOCATE(CHARACTER(LEN=largo) :: array_lineas(cant_lineas))
READ(buffer,"(2a3)") (array_lineas(i),i=1,cant_lineas)
print *, array_lineas
print *, array_fijo
if (any (array_lineas .ne. array_fijo)) call abort
END PROGRAM
Dominique
More information about the Fortran
mailing list