[gcc r12-3233] Fortran - fix whitespace issue during parsing of assigned goto

Harald Anlauf anlauf@gcc.gnu.org
Mon Aug 30 21:10:27 GMT 2021


https://gcc.gnu.org/g:a7083b83e45852540a4a09ee11b74dc28d777399

commit r12-3233-ga7083b83e45852540a4a09ee11b74dc28d777399
Author: Harald Anlauf <anlauf@gmx.de>
Date:   Mon Aug 30 23:07:56 2021 +0200

    Fortran - fix whitespace issue during parsing of assigned goto
    
    gcc/fortran/ChangeLog:
    
            PR fortran/102113
            * match.c (gfc_match_goto): Allow for whitespace in parsing list
            of labels.
    
    gcc/testsuite/ChangeLog:
    
            PR fortran/102113
            * gfortran.dg/goto_9.f90: New test.

Diff:
---
 gcc/fortran/match.c                  |  2 +-
 gcc/testsuite/gfortran.dg/goto_9.f90 | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
index 16502da001d..53a575e616e 100644
--- a/gcc/fortran/match.c
+++ b/gcc/fortran/match.c
@@ -4079,7 +4079,7 @@ gfc_match_goto (void)
 	}
       while (gfc_match_char (',') == MATCH_YES);
 
-      if (gfc_match (")%t") != MATCH_YES)
+      if (gfc_match (" )%t") != MATCH_YES)
 	goto syntax;
 
       if (head == NULL)
diff --git a/gcc/testsuite/gfortran.dg/goto_9.f90 b/gcc/testsuite/gfortran.dg/goto_9.f90
new file mode 100644
index 00000000000..e05e73819e6
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/goto_9.f90
@@ -0,0 +1,10 @@
+! { dg-do compile }
+! { dg-options "-std=legacy" }
+! PR fortran/102113 - parsing error in assigned goto
+
+program p
+   assign 10 to i
+   goto i,(10,20 )
+10 continue
+20 continue
+end


More information about the Gcc-cvs mailing list