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.