]> git.ipfire.org Git - thirdparty/gcc.git/commit
a68: allow joined list of revelations in access clauses
authorJose E. Marchesi <jose.marchesi@oracle.com>
Sat, 27 Dec 2025 10:09:04 +0000 (11:09 +0100)
committerJose E. Marchesi <jose.marchesi@oracle.com>
Sat, 27 Dec 2025 10:52:48 +0000 (11:52 +0100)
commit2a273f75b1877c092e4d169ef3c18fecabb9f40d
treea681eefcf624f36f0d36a35eeb5030c1e01262ff
parentb0cce5cfafc6beb894a4e5a8b3331108e43ccb4c
a68: allow joined list of revelations in access clauses

This commit adds support for having a joined list of revelations in
access clauses, like in:

  access Module18a,
         Module18b,
         Module18c
  begin assert (foo = 10);
        assert (bar = 20);
        assert (baz = 30)
  end

Signed-off-by: Jose E. Marchesi <jemarch@gnu.org>
gcc/algol68/ChangeLog

* a68-parser-bottom-up.cc (reduce_enclosed_clauses): Reduce joined
list of revelations.
* a68-low-clauses.cc (a68_lower_revelation_ludes): New function.
(a68_lower_access_clause): Use a68_lower_revelation_ludes.

gcc/testsuite/ChangeLog

* algol68/compile/modules/module10.a68: New test.
* algol68/execute/modules/program-18.a68: Likewise.
* algol68/execute/modules/module18c.a68: Likewise.
* algol68/execute/modules/module18b.a68: Likewise.
* algol68/execute/modules/module18a.a68: Likewise.
* algol68/compile/modules/program-11.a68: Likewise.
* algol68/compile/modules/program-10.a68: Likewise.
* algol68/compile/modules/module12.a68: Likewise.
* algol68/compile/modules/module11.a68: Likewise.
gcc/algol68/a68-low-clauses.cc
gcc/algol68/a68-parser-bottom-up.cc
gcc/testsuite/algol68/compile/modules/module10.a68 [new file with mode: 0644]
gcc/testsuite/algol68/compile/modules/module11.a68 [new file with mode: 0644]
gcc/testsuite/algol68/compile/modules/module12.a68 [new file with mode: 0644]
gcc/testsuite/algol68/compile/modules/program-10.a68 [new file with mode: 0644]
gcc/testsuite/algol68/compile/modules/program-11.a68 [new file with mode: 0644]
gcc/testsuite/algol68/execute/modules/module18a.a68 [new file with mode: 0644]
gcc/testsuite/algol68/execute/modules/module18b.a68 [new file with mode: 0644]
gcc/testsuite/algol68/execute/modules/module18c.a68 [new file with mode: 0644]
gcc/testsuite/algol68/execute/modules/program-18.a68 [new file with mode: 0644]