https://gcc.gnu.org/g:ed0c185ac8b487a1647248799c5d4a915c6cfa3a
commit r16-6409-ged0c185ac8b487a1647248799c5d4a915c6cfa3a Author: Jose E. Marchesi <[email protected]> Date: Sat Dec 27 11:14:02 2025 +0100 a68: scope access clauses Signed-off-by: Jose E. Marchesi <[email protected]> gcc/algol68/ChangeLog * a68-parser-scope.cc (scope_access_clause): New function. (scope_enclosed_clause): Use scope_access_clause. Diff: --- gcc/algol68/a68-parser-scope.cc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gcc/algol68/a68-parser-scope.cc b/gcc/algol68/a68-parser-scope.cc index e76a3c044097..e04704e25b62 100644 --- a/gcc/algol68/a68-parser-scope.cc +++ b/gcc/algol68/a68-parser-scope.cc @@ -54,6 +54,7 @@ static void scope_statement (NODE_T *, SCOPE_T **); static void scope_enclosed_clause (NODE_T *, SCOPE_T **); static void scope_formula (NODE_T *, SCOPE_T **); static void scope_routine_text (NODE_T *, SCOPE_T **); +static void scope_access_clause (NODE_T *, SCOPE_T **); /* * Static scope checker. @@ -898,6 +899,18 @@ scope_loop_clause (NODE_T *p) } } +/* Scope and access-clause. */ + +static void +scope_access_clause (NODE_T *p, SCOPE_T **s) +{ + for (; p != NO_NODE; FORWARD (p)) + { + if (IS (p, ENCLOSED_CLAUSE)) + scope_enclosed_clause (SUB (p), s); + } +} + /* Scope_enclosed_clause. */ static void @@ -915,6 +928,8 @@ scope_enclosed_clause (NODE_T *p, SCOPE_T **s) scope_case_clause (SUB (p), s); else if (IS (p, LOOP_CLAUSE)) scope_loop_clause (SUB (p)); + else if (IS (p, ACCESS_CLAUSE)) + scope_access_clause (SUB (p), s); } /* Whether a symbol table contains no (anonymous) definition. */
