I just learned that FORALL is obsolescent in Fortran 2018; removed
This commit is contained in:
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user