]> git.ipfire.org Git - thirdparty/gcc.git/commit
a68: remove coalesce_public_symbols shortcut
authorJose E. Marchesi <jose.marchesi@oracle.com>
Sat, 27 Dec 2025 17:42:38 +0000 (18:42 +0100)
committerJose E. Marchesi <jose.marchesi@oracle.com>
Sat, 27 Dec 2025 17:42:38 +0000 (18:42 +0100)
commit2a3e308b2966deadb75ec6f6d9cea01fd98497b0
treeac2b6411ea10c8fdd55f39cfbcb6c8c67523ba45
parent4ac337019ab71bb247fd56ef56d81f1dc0690151
a68: remove coalesce_public_symbols shortcut

As planned, this commit removes a crude hack (the coalescing of 'pub'
symbols right after bottom-up parsing) that I introduced during the
initial implementation of modules.  The goal was to get working
separated compilation as soon as possible.  Now the rest of the
parser, and also the lowerer pass, is made to know about these 'pub'
symbols.

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

* a68-parser-bottom-up.cc (a68_bottom_up_error_check): Do not
check for the absence of public-symbols.
(a68_bottom_up_coalesce_pub): Removed function.
* a68-parser.cc (a68_parser): Do not call
a68_bottom_up_coalesce_pub
* a68-parser-extract.cc (a68_extract_indicants): Adapt to the
presence of public-symbols.
* a68-parser-modes.cc (get_mode_from_proc_variables): Likewise.
* a68-parser-taxes.cc (tax_variable_dec): Likewise.
(tax_proc_variable_dec): Likewise.
(tax_op_dec): Likewise
(tax_prio_dec): Likewise.
* a68-low-decls.cc (a68_lower_mode_declaration): Adapt to the
presence of public-symbols.
(a68_lower_variable_declaration): Likewise.
(a68_lower_identity_declaration): Likewise.
(a68_lower_procedure_declaration): Likewise.
(a68_lower_procedure_variable_declaration): Likewise.
(a68_lower_brief_operator_declaration): Likewise.
(a68_lower_operator_declaration): Likewise.

gcc/testsuite/ChangeLog

* algol68/compile/module-2.a68: Expand test a little.
gcc/algol68/a68-low-decls.cc
gcc/algol68/a68-parser-bottom-up.cc
gcc/algol68/a68-parser-extract.cc
gcc/algol68/a68-parser-modes.cc
gcc/algol68/a68-parser-taxes.cc
gcc/algol68/a68-parser.cc
gcc/testsuite/algol68/compile/module-2.a68