https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96255

            Bug ID: 96255
           Summary: [F2018] Implement option type spec for index DO
                    CONCURRENT
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jvdelisle at charter dot net
  Target Milestone: ---

F2018 provides for an optional type spec in the DO CONCURRENT construct:

R1125 concurrent-header is ( [ integer-type-spec :: ] concurrent-control-list [
, scalar-mask-expr ] )

There is a constraint that it must be of type integer. This construct allows it
to be declared locally to its block.

program looper
   implicit none

   !integer i

   do concurrent (integer :: i=1:10)
     print *, i
   end do

end program looper

$ gfc -c looper.f03 
looper.f03:6:19:

    6 |    do concurrent (integer :: i=1:10)
      |                   1
Error: Syntax error in DO statement at (1)
looper.f03:8:6:

    8 |    end do
      |      1
Error: Expecting END PROGRAM statement at (1)
looper.f03:7:15:

    7 |      print *, i
      |               1
Error: Symbol ā€˜iā€™ at (1) has no IMPLICIT type

Reply via email to