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

View File

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

View File

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