I just learned that FORALL is obsolescent in Fortran 2018; removed

This commit is contained in:
Karl Hammond
2022-10-05 14:30:02 -05:00
parent 7fa020e574
commit e3b5514b62
3 changed files with 11 additions and 11 deletions

View File

@ -885,9 +885,9 @@ CONTAINS
length = c_strlen(Cptr)
CALL C_F_POINTER(Cptr, Fptr, [length])
ALLOCATE(CHARACTER(LEN=length) :: global_data%str)
FORALL (i=1:length)
DO i = 1, length
global_data%str(i:i) = Fptr(i)
END FORALL
END DO
CASE DEFAULT
CALL lmp_error(self, LMP_ERROR_ALL + LMP_ERROR_WORLD, &
'Unknown pointer type in extract_global')
@ -1188,9 +1188,9 @@ CONTAINS
length = c_strlen(Cptr)
CALL C_F_POINTER(Cptr, Cstring, [length])
ALLOCATE(CHARACTER(LEN=length) :: variable_data%str)
FORALL (i=1:length)
DO i = 1, length
variable_data%str(i:i) = Cstring(i)
END FORALL
END DO
! DO NOT deallocate the C pointer
CASE (-1)
CALL lmp_error(self, LMP_ERROR_ALL + LMP_ERROR_WORLD, &
@ -1636,9 +1636,9 @@ CONTAINS
buffer = ' '
IF (Csuccess /= 0_c_int) THEN
strlen = c_strlen(Cptr)
FORALL (i = 1:strlen)
DO i = 1, strlen
buffer(i:i) = Cbuffer(i)
END FORALL
END DO
END IF
END SUBROUTINE lmp_config_package_name

View File

@ -107,9 +107,9 @@ FUNCTION f_lammps_with_C_args(argc, argv) BIND(C)
args(i) = ''
length = c_strlen(Fargv(i))
CALL C_F_POINTER(Fargv(i), Cstr, [length])
FORALL (j = 1:length)
DO j = 1, length
args(i)(j:j) = Cstr(j)
END FORALL
END DO
END DO
lmp = lammps(args)

View File

@ -43,10 +43,10 @@ FUNCTION f_lammps_extract_setting(Cstr) BIND(C)
i = i + 1
END DO
strlen = i
allocate (CHARACTER(LEN=strlen) :: Fstr)
FORALL (i=1:strlen)
ALLOCATE(CHARACTER(LEN=strlen) :: Fstr)
DO i = 1, strlen
Fstr(i:i) = Cstr(i)
END FORALL
END DO
f_lammps_extract_setting = lmp%extract_setting(Fstr)
DEALLOCATE(Fstr)
END FUNCTION f_lammps_extract_setting