2025-12-31  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-exports.cc (a68_asm_output_mode): Do not rely on DIM to
	count modes in an union mode.

2025-12-31  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-imports.cc (a68_open_packet): Use right tag format in
	a68_error.

2025-12-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-lang.cc (a68_init_options): Add an entry to A68_MODULE_FILES
	to map module Transput to the basename ga68.

2025-12-29  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-parser-scanner.cc (get_next_token): Bits denotation parsing
	fixes.
	* ga68.texi (SUPPER stropping): Document special rule for bits
	denotations with radix 16.

2025-12-29  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-parser-victal.cc (victal_check_mode_dec): Mind publicized
	declarations.
	(victal_check_variable_dec): Likewise.
	(victal_check_identity_dec): Likewise.

2025-12-29  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-parser-scope.cc (scope_module_text): New function.
	(scope_module_declaration): Likewise.
	(scope_particular_program): Likewise.
	(scope_prelude_packet): Likewise.
	(a68_scope_checker): Call scope_particular_program and
	scope_prelude_packet.

2025-12-29  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-exports.cc (a68_asm_output_mode): Use .LMDnn labels for
	modes instead of .LMnn.

2025-12-28  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* ga68.texi (Packets): Update to specify only particular programs
	and prelude packets are currently supported.
	(Writing modules): Few updates.
	(Module activation): Likewise.
	(Modules and exports): New section.

2025-12-28  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-imports.cc (a68_open_packet): Use already decoded moifs
	if present.

2025-12-28  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-imports.cc (a68_decode_modes): Do not deduplicate imported
	modes here.
	(a68_open_packet): Do it here.
	* a68-parser-extract.cc (extract_revelation): Recurse into
	publicized modules after interning modes in the current module,
	not before.

2025-12-27  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-parser-taxes.cc (tax_module_dec): Do not handle
	DEFINING_MODULE_INDICANT.
	* a68-exports.cc (a68_add_module_to_moif): Do not mangle module
	names in module extracts.
	(add_pub_revelations_to_moif): New function.
	(a68_do_exports): Simplify and call add_pub_revelations_to_moif.
	* a68-imports.cc (a68_decode_moifs): Add all decoded moifs to the
	global list TOP_MOIF.
	* a68-parser-extract.cc (extract_revelation): Recurse to import
	extracts from publicized modules.
	(a68_extract_indicants): Do not add symbol table entries for
	defining modules.
	* a68-types.h (struct TAG_T): Remove field EXPORTED.
	(EXPORTED): Remove macro.
	(TOP_MOIF): Define.
	* a68-parser.cc (a68_parser): Initialize global list of moifs.
	(a68_new_tag): Do not initialize EXPORTED.

2025-12-27  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-parser-top-down.cc (a68_top_down_parser): Stop parsing after
	longjump.

2025-12-27  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* 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.

2025-12-27  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-moids-misc.cc (a68_pack_soids_in_moid): Return the result of
	a68_register_extra_mode.

2025-12-27  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-parser-extract.cc (a68_extract_indicants): Do not
	detect_redefined_keyword for accessed modules.

2025-12-27  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-parser-scope.cc (scope_access_clause): New function.
	(scope_enclosed_clause): Use scope_access_clause.

2025-12-27  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* 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.

2025-12-27  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-parser-extract.cc (a68_extract_indicants): Fix
	MODE_DECLARATION to MODULE_DECLARATION typo.

2025-12-27  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-parser-top-down.cc (top_down_access): An access clause may
	be nested in another access clause.
	* a68-parser-extract.cc (a68_extract_indicants): Coalesce 'pub'
	symbols.
	(a68_extract_indicants): Nested access are not allowed in module
	texts.
	* a68-parser-bottom-up.cc (expected_module_text): New function.
	(reduce_prelude_packet): Use expected_module_text.
	(a68_bottom_up_error_check): Add comment.

2025-12-27  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-types.h (struct MOIF_T): Add chain_next to GTY info.
	* a68-imports.cc (a68_decode_modes): Mode offsets are relative to
	the start of the moif, not the start of the exports.
	(a68_decode_moifs): Renamed from a68_decode_moif and changed to
	decode multiple moifs from the exports.
	(a68_open_packet): Call a68_decode_moifs and look for the right
	moif.
	* a68-exports.cc (a68_moif_new): Initialize NEXT (moif).

2025-12-23  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

	* a68.h (a68_file_size): Changed to use file descriptor.
	(a68_file_read): Likewise.
	* a68-parser-scanner.cc (a68_file_size): Likewise.
	(a68_file_read): Likewise.
	(read_source_file): Adapt `a68_file_{size,read}'.
	(include_files): Likewise.
	* a68-lang.cc (a68_handle_option): Likewise.
	* a68-imports.cc (a68_find_export_data): Implement
	reading from module's .m68 file if available.

2025-12-22  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-imports.cc (PARSE_INDICANT): Fix handling of uderscore
	characters.

2025-12-22  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

	* a68-parser-scanner.cc (a68_file_size): Fix comment to mention
	it accepts `FILE *' and not file descriptor.
	Fix invocation of `lseek' to correctly revert position of file
	offset to previous one.

2025-12-20  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-low-moids.cc (a68_lower_moids): Fix for layout of
	incomplete types.

2025-12-19  Jakub Jelinek  <jakub@redhat.com>

	* a68-low-decls.cc (a68_lower_variable_declaration): Fix comment typo,
	varaible -> variable.

2025-12-17  Jose E. Marchesi  <jose.marchesi@oracle.com>

	PR algol68/123006
	* a68-imports.cc (complete_encoded_mode): Fix handling of flex
	modes.

2025-12-17  Jose E. Marchesi  <jose.marchesi@oracle.com>

	PR algol68/123132
	* a68-imports.cc (DOFFSET): Fix big-endian path.

2025-12-16  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-parser-bottom-up.cc (reduce_prelude_packet): Do not support
	multiple module definitions per packet.

2025-12-16  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* lang.opt.urls: Regenerate.

2025-12-16  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* lang.opt (-fmodules-map): New option.
	(-fmodules-map-file): Likewise.
	* a68.h: Add prototype for a68_process_module_map.
	* a68-imports.cc (SKIP_WHITESPACES): Define.
	(PARSE_BASENAME): Likewise.
	(PARSE_INDICANT): Likewise.
	(a68_process_module_map): New function.
	* a68-lang.cc: (a68_init): Move initialization of
	A68_MODULE_FILES from there...
	(a68_init_options): to here.
	(a68_handle_option): Handle OPT_fmodules_map and
	OPT_fmodules_map_.
	* a68-parser-pragmat.cc (handle_access_in_pragmat): Normalize
	module indicants to upper case.
	* ga68.texi (Module search options): New section.

2025-12-16  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68.h: Prototypes for a68_get_file_size and a68_file_read.
	* a68-parser-scanner.cc (a68_file_size): New function.
	(a68_file_read): Renamed from io_read.
	(get_source_size): Deleted function.
	(include_files): Use a68_file_size and a68_file_read.

2025-12-16  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

	* a68-imports.cc (dump_encoded_mode): Replace "basic" with
	"string".

2025-12-15  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

	* ga68-exports.pk (ga68_text_reloc_64): Renamed and
	adapted from ga68_text_reloc.
	(ga68_data_reloc_64): Renamed and adapted from ga68_data_reloc.
	(ga68_mode_64): Renamed and adapted from ga68_mode.
	(ga68_extract_64): Renamed and adapted from ga68_extract.
	(ga68_module_64): Renamed and adapted from ga68_module.
	(ga68_text_reloc_32): New type.
	(ga68_data_reloc_32): Likewise.
	(ga68_mode_32): Likewise.
	(ga68_extract_32): Likewise.
	(ga68_module_32): Likewise.

2025-12-15  Mohammad-Reza Nabipoor  <mnabipoor@gnu.org>

	* ga68-exports.pk: Fix comment and value for magic number.

2025-12-13  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-parser-bottom-up.cc (a68_bottom_up_coalesce_pub): Do not
	mark defining entities as publicized.
	* a68-parser-extract.cc (a68_extract_indicants): Mark public
	defining entities.
	(a68_extract_priorities): Likewise.
	(a68_extract_operators): Likewise.
	(a68_extract_identities): Likewise.
	(a68_extract_variables): Likewise.
	(a68_extract_proc_identities): Likewise.
	(a68_extract_proc_variables): Likewise.

2025-12-12  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-parser-scanner.cc (a68_lexical_analyser): New argument
	empty_program.
	* a68.h: Update prototype of a68_lexical_analyser.
	* a68-parser.cc (a68_parser): Emit error for empty input files.

2025-12-12  Pietro Monteiro  <pietro@sociotechnical.xyz>

	* ga68.texi (@opindex I): Expand.
	(@oindex L): New.
	* lang.opt.urls: Regenerate.

2025-12-10  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* lang.opt: Add entry for OPT_L.

2025-12-10  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-imports.cc (a68_try_packet_in_directory): do not try
	extensionless packet files.

2025-12-10  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-low-ints.cc (a68_int_sign): Avoid gimplifying val twice.
	* a68-low-reals.cc (a68_real_sign): Likewise.

2025-12-10  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-low-prelude.cc (a68_lower_char_mult3): Fix asserts.

2025-12-06  Jose E. Marchesi  <jose.marchesi@oracle.com>

	PR algol68/123007
	* a68-lang.cc (a68_type_for_size): Handle intTI_type_node.

2025-12-03  Jose E. Marchesi  <jose.marchesi@oracle.com>

	PR algol68/122954
	* a68-types.h (NO_A68_REF): Delete.
	(NO_ARRAY): Likewise.
	(NO_BOOK): Likewise.
	(NO_BOOL): Likewise.
	(NO_BYTE): Likewise.
	(NO_CONSTANT): Likewise.
	(NO_DEC): Likewise.
	(NO_EDLIN): Likewise.
	(NO_FILE): Likewise.
	(NO_FORMAT): Likewise.
	(NO_GPROC): Likewise.
	(NO_HANDLE): Likewise.
	(NO_INT): Likewise.
	(NO_JMP_BUF): Likewise.
	(NO_SCOPE): Moved to a68-parser-scope.cc.
	(NO_TUPLE): Likewise.
	(TUPLE): Likewise.
	(NO_GINFO): Converted from macro to contexpr.
	(NO_KEYWORD): Likewise.
	(NO_NINFO): Likewise.
	(NO_PACK): Likewise.
	(NO_SOID): Likewise.
	(NO_TOKEN): Likewise.
	(NO_NOTE): Likewise.
	(MODES_T): Turned from typedef to forward declaration.
	(NODE_T): Likewise.
	(MODE_CACHE_T): Likewise.
	(MOID_T): Likewise.
	(GINFO_T): Likewise.
	(KEYWORD_T): Likewise.
	(LINE_T): Likewise.
	(NODE_INFO_T): Likewise.
	(PACK_T): Likewise.
	(SOID_T): Likewise.
	(TABLE_T): Likewise.
	(TAG_T): Likewise.
	(TOKEN_T): Likewise.
	(ORIGIN_T): Likewise.
	(POSTULATE_T): Likewise.
	(OPTIONS_T): Likewise.
	(PARSER_T): Likewise.
	(MODULE_T): Likewise.
	(EXTRACT_T): Likewise.
	(MOIF_T): Likewise.
	(A68_T): Likewise.
	* a68-parser-scope.cc (NO_TUPLE): Moved from a68-types.h
	(NO_SCOPE): Likewise.
	(TUPLE): Likewise.

2025-12-03  Jose E. Marchesi  <jose.marchesi@oracle.com>

	PR algol68/122966
	* a68-low-clauses.cc (a68_lower_collateral_clause): Remove
	self-assignment.

2025-12-02  Jose E. Marchesi  <jose.marchesi@oracle.com>

	PR algol68/122954
	* a68-low-clauses.cc (serial_clause_dsa): Avoid redundant
	initialization.
	* a68-parser-modes.cc (compute_derived_modes): Likewise.
	* a68-low.cc (a68_lower_tree): Remove redundant break.

2025-12-01  Jose E. Marchesi  <jose.marchesi@oracle.com>

	PR algol68/122944
	* Make-lang.in (algol68.install-common): Link
	A68_TARGET_INSTALL_NAME in bindir.

2025-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* a68-exports.cc: Include memmodel.h.
	* a68-imports.cc: Likeswise.

2025-12-01  Jakub Jelinek  <jakub@redhat.com>

	* a68-low-multiples.cc (copy_multiple_dimension_elems): Use
	HOST_SIZE_T_PRINT_DEC in xasprintf format string and cast to
	fmt_size_t.

2025-11-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-diagnostics.cc (diagnostic): Copypasto "a meek"
	should be "a firm".  Support printing line number for programs
	longer than 9 lines.  Use obstack_append_str rather than
	obstack_grow.
	(obstack_append_str): New function.

2025-11-30  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>

	* lang.opt.urls: Regenerate.

2025-11-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* lang.opt: New file.
	* lang.opt.urls: Generate.

2025-11-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* ga68-internals.texi: New file.
	* ga68.texi: Likewise.
	* Make-lang.in: New file.
	* config-lang.in: Likewise.

2025-11-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* a68-unistr.c: New file.
	* a68-lang.cc: Likewise.
	* a68spec.cc: Likewise.
	* lang-specs.h: Likewise.
	* README: Likewise.
	* a68-tree.def: Likewise.
	* a68-types.h: Likewise.
	* a68.h: Likewise.
	* ga68.vw: Likewise.
	* a68-low-moids.cc: Likewise.
	* a68-low-coercions.cc: Likewise.
	* a68-low-generator.cc: Likewise.
	* a68-low-units.cc: Likewise.
	* a68-low-ranges.cc: Likewise.
	* a68-low-builtins.cc: Likewise.
	* a68-low-runtime.cc: Likewise.
	* a68-low-runtime.def: Likewise.
	* a68-low-clauses.cc: Likewise.
	* a68-low-decls.cc: Likewise.
	* a68-low-posix.cc: Likewise.
	* a68-low-prelude.cc: Likewise.
	* a68-low-multiples.cc: Likewise.
	* a68-low-structs.cc: Likewise.
	* a68-low-unions.cc: Likewise.
	* a68-low-bits.cc: Likewise.
	* a68-low-bools.cc: Likewise.
	* a68-low-chars.cc: Likewise.
	* a68-low-complex.cc: Likewise.
	* a68-low-ints.cc: Likewise.
	* a68-low-procs.cc: Likewise.
	* a68-low-reals.cc: Likewise.
	* a68-low-refs.cc: Likewise.
	* a68-low-strings.cc: Likewise.
	* a68-low.cc: Likewise.
	* a68-low-misc.cc: Likewise.
	* a68-parser-pragmat.cc: Likewise.
	* a68-parser-serial-dsa.cc: Likewise.
	* a68-parser-debug.cc: Likewise.

2025-11-30  Jose E. Marchesi  <jose.marchesi@oracle.com>
	    Marcel van der Veer  <algol68g@xs4all.nl>

	* a68-parser-extract.cc: New file.
	* a68-parser-scope.cc: Likewise.
	* a68-parser-taxes.cc: Likewise.
	* a68-moids-diagnostics.cc: Likewise.
	* a68-moids-misc.cc: Likewise.
	* a68-moids-to-string.cc: Likewise.
	* a68-parser-modes.cc: Likewise.
	* a68-parser-moids-check.cc: Likewise.
	* a68-parser-moids-coerce.cc: Likewise.
	* a68-parser-moids-equivalence.cc: Likewise.
	* a68-postulates.cc: Likewise.
	* a68-parser-prelude.cc: Likewise.
	* a68-parser-victal.cc: Likewise.
	* a68-parser-bottom-up.cc: Likewise.
	* a68-parser-brackets.cc: Likewise.
	* a68-parser-top-down.cc: Likewise.
	* a68-parser-keywords.cc: Likewise.
	* a68-parser-scanner.cc: Likewise.
	* a68-parser-attrs.def: Likewise.
	* a68-parser.cc: Likewise.
	* a68-imports.cc: Likewise.
	* a68-exports.cc: Likewise.
	* ga68-exports.pk: Likewise.
	* a68-diagnostics.cc: Likewise.

Copyright (C) 2025-2026 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
