[Bug fortran/104812] New: Construct-name with same variable name in scope
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104812 Bug ID: 104812 Summary: Construct-name with same variable name in scope Product: gcc Version: 11.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: fruitclover at gmail dot com Target Milestone: --- Is this expected behavior for s1 to disallow construct-name with the same name as declared variable? $ cat -n test.f90 1 subroutine s1 2logical :: x 3x: if (x) then 4end if x 5 end 6 7 subroutine s2 8logical :: x 9x: block 10end block x 11 end $ gfortran test.f90 -fsyntax-only -Wall -Wextra test.f90:3:11: 3 | x: if (x) then | 1 Error: Symbol at (1) is not appropriate for an expression test.f90:4:5: 4 | end if x | 1 Error: Expecting END SUBROUTINE statement at (1)
[Bug fortran/104812] Construct-name with same variable name in scope
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104812 --- Comment #2 from Mike K. --- Thanks, and subroutine s2 conforming Fortran 2018, 19.4, right?
[Bug fortran/104812] Construct-name with same variable name in scope
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104812 --- Comment #4 from Mike K. --- Created attachment 52749 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52749&action=edit propose to return an error if constuct-name clashes with variable name > Note, the prohibition in the standard is not a numbered > constraint, which means a compiler need not issue an > error or warning. It is expected that the programmer > writes conforming code. Could we enforce this constraint and print error message instead of relying on programmer? I think that explicit error is better than silently accepting non-conforming code for some corner-cases. Attached patch with proposed fix, wdyth?
[Bug fortran/104812] Construct-name with same variable name in scope
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104812 --- Comment #6 from Mike K. --- Thanks a lot for the guidance, posted patch.