https://gcc.gnu.org/g:79b5b50402454dd1c217c8e2e21ce85aa35e4f1b
commit r15-3332-g79b5b50402454dd1c217c8e2e21ce85aa35e4f1b Author: Harald Anlauf <anl...@gmx.de> Date: Fri Aug 30 21:15:43 2024 +0200 Fortran: downgrade use associated namelist group name to legacy extension The Fortran standard disallows use associated names as namelist group name (e.g. F2003:C581, but also later standards). This feature is a gfortran legacy extension, and we should give a warning even for -std=gnu. gcc/fortran/ChangeLog: * match.cc (gfc_match_namelist): Downgrade feature from GNU to legacy extension. gcc/testsuite/ChangeLog: * gfortran.dg/pr88169_3.f90: Adjust pattern. Diff: --- gcc/fortran/match.cc | 4 +++- gcc/testsuite/gfortran.dg/pr88169_3.f90 | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gcc/fortran/match.cc b/gcc/fortran/match.cc index d30a98f48fa8..53c54c1c4899 100644 --- a/gcc/fortran/match.cc +++ b/gcc/fortran/match.cc @@ -5603,9 +5603,11 @@ gfc_match_namelist (void) return MATCH_ERROR; } + /* A use associated name shall not be used as a namelist group name + (e.g. F2003:C581). It is only supported as a legacy extension. */ if (group_name->attr.flavor == FL_NAMELIST && group_name->attr.use_assoc - && !gfc_notify_std (GFC_STD_GNU, "Namelist group name %qs " + && !gfc_notify_std (GFC_STD_LEGACY, "Namelist group name %qs " "at %C already is USE associated and can" "not be respecified.", group_name->name)) return MATCH_ERROR; diff --git a/gcc/testsuite/gfortran.dg/pr88169_3.f90 b/gcc/testsuite/gfortran.dg/pr88169_3.f90 index 6bc24ed6b719..49ef430e6640 100644 --- a/gcc/testsuite/gfortran.dg/pr88169_3.f90 +++ b/gcc/testsuite/gfortran.dg/pr88169_3.f90 @@ -10,6 +10,5 @@ program main use foo_nml, only: bar => foo, x implicit none real a - namelist /bar/a ! { dg-error "already is USE associated" } + namelist /bar/a ! { dg-error "Legacy Extension: .* already is USE associated" } end program -! { dg-final { cleanup-modules "foo_nml" } }