GCC Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
a68

a68: Register publicized type_decls in the global range

Ensures Algol 68 publicized type declarations are correctly registered globally.

This change ensures that publicized type declarations in the Algol 68 front-end are properly registered within the global symbol table range. The function a68_lower_mode_declaration now uses a68_add_global_decl for mode declarations that are in public ranges. This improves the management and visibility of type definitions, ensuring they are accessible and correctly handled across the compilation process.

In Details

The a68_lower_mode_declaration function has been updated to use a68_add_global_decl when processing mode declarations that reside in public ranges. This ensures that such type declarations are correctly registered in the global symbol table, making them visible and accessible throughout the compilation scope. This is essential for maintaining the integrity of the type system and ensuring correct name resolution for types defined in Algol 68 programs.

For Context
a68
GCC's front-end for the Algol 68 programming language.
type_decls
Declarations that define new types or aliases for existing types within a programming language.
global range
The scope in a compiler's symbol table that encompasses all declarations visible throughout the entire program, as opposed to local scopes within functions or blocks.
symbol table
A data structure used by a compiler to store information about identifiers (such as variable and function names) encountered in the source code.
mode declaration
In Algol 68, a declaration that introduces a new mode (type) or an alias for an existing mode.
Filed Under: a68symbol tabletype declarationsscope