]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
OpenMP/Fortran: Add missing pop_state in parse_omp_dispatch [PR118714]
authorPaul-Antoine Arras <parras@baylibre.com>
Fri, 31 Jan 2025 10:41:47 +0000 (11:41 +0100)
committerPaul-Antoine Arras <parras@baylibre.com>
Fri, 31 Jan 2025 15:46:12 +0000 (16:46 +0100)
When the ST_NONE case is taken, the function returns immediately. Not calling
pop_state causes a dangling pointer.

PR fortran/118714

gcc/fortran/ChangeLog:

* parse.cc (parse_omp_dispatch): Add missing pop_state.

gcc/fortran/parse.cc

index 00cd23d77299d4dd0e3a60b0a5c8a895f428595e..5094d9d3eadf6b0e120966df41a0baae213dc575 100644 (file)
@@ -6375,7 +6375,10 @@ parse_omp_dispatch (void)
 
   st = next_statement ();
   if (st == ST_NONE)
-    return st;
+    {
+      pop_state ();
+      return st;
+    }
   if (st == ST_CALL || st == ST_ASSIGNMENT)
     accept_statement (st);
   else