-
Notifications
You must be signed in to change notification settings - Fork 19
Description
I'm not sure this proposal doesn't already exist, but I can't find it. If it exists, feel free to delete this issue.
It would good to allow for the simple do loop the same syntax as the do concurrent loop, not only for internal consistency of the language, but mainly to allow the on-the-fly declaration of the index:
do (integer :: i = 1:n)
...
end doFor an even better consistency, the sequential keyword could be used:
do sequential (integer :: i = 1:n)
...
end doWhat I am also wondering is if the typing could be implicit... After all, the index is necessarily of the integer type, so there's no need to specify it as long as one just need the default kind:
do sequential (i = 1:n)
! is equivalent to
do sequential (integer :: i = 1:n)Specifying the type/kind would be requiring only for the non default kinds:
do sequential (integer(kind=int64) :: i = 1:n)This would mean that the scope of the index would always be limited to the loop, which is a good thing IMO.
This "implicit typing rule" could be extended to the do concurrent statement, as I can't see how it would break anything.