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