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

            Bug ID: 120179
           Summary: Failure with do concurrent and semicolon
           Product: gcc
           Version: 15.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: matthew.thompson at nasa dot gov
  Target Milestone: ---

The following code seems to confuse GCC 15.1.0:

do concurrent (i=1:2);enddo
end

For example, with gcc 14.2:

> gfortran --version
GNU Fortran (GCC) 14.2.0
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

> gfortran test.F90

But with 15.1:

> gfortran --version
GNU Fortran (GCC) 15.1.0
Copyright (C) 2025 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

> gfortran test.F90
test.F90:1:23:

    1 | do concurrent (i=1:2);enddo
      |                       1
Error: Syntax error in DO statement at (1)
test.F90:1:25:

    1 | do concurrent (i=1:2);enddo
      |                         1
Error: Expecting END PROGRAM statement at (1)

Testing locally and on godbolt shows that ifx and nagfor both accept it as
well.

Reply via email to