| 2026-11-08 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-prelude.cc (gnu_moids): New function. | |
| (stand_prelude): Move extended moids definition to gnu_moids. | |
| (gnu_prelude): Load Algol 68 parts from gnu.a68. | |
| Call gnu_moids. | |
| * a68-imports.cc (SET_MOID): Define. | |
| (complete_encoded_mode): Use SET_MOID. | |
| 2026-11-08 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-moids-check.cc (find_operator): Fix handling of | |
| standard pow operators. | |
| 2026-11-08 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68.h: Add prototypes for a68_lower_wordenint2 and | |
| a68_lower_wordenreal2. | |
| * a68-parser-prelude.cc (gnu_prelude): Define WORDEN for SIZETY | |
| int, SIZETY real and SIZETY bits. | |
| * a68-low-prelude.cc (a68_lower_wordenint2): New function. | |
| (a68_lower_wordenreal2): Likewise. | |
| 2026-11-08 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-imports.cc (a68_open_packet): Set better error message in | |
| case of decod error. | |
| 2026-11-08 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68-exports.pk (ga68_mode_64): kind can be GA68_MODE_BOOL. | |
| (ga68_mode_32): Likewise. | |
| 2026-11-06 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-moids-misc.cc (a68_widens_to): Add two missing indirect | |
| widening paths. | |
| 2026-10-29 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-moids-check.cc (find_operator): Do not apply shortcut | |
| for cross real/int definitions to exponentiation. | |
| 2026-10-26 James LeBlanc <jpl.algol68@gmail.com> | |
| Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-prelude.cc (stand_prelude): Do not declare compl | |
| operators, as these are now defined in standard.a68. | |
| 2026-10-23 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-lang.cc (a68_post_options): Fix typo in comment. | |
| 2026-10-21 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-lang.cc (a68_post_options): Fix diagnostic format. | |
| 2026-10-21 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68.vw: Add syntax for nested pragmats. | |
| * ga68.texi (Dialect options): Document that -fbrackets can only | |
| be used in upper storpping. | |
| * a68-parser-scanner.cc (skip_pragmat): Likewise. | |
| (next_preprocessor_item): Likewise. | |
| (pragment): Likewise. | |
| (get_next_token): Likewise. | |
| (tokenise_source): Likewise. | |
| * a68-parser-pragmat.cc (handle_access_in_pragmat): Handle nested | |
| pragmats. | |
| (handle_pragmat): Likewise. | |
| * a68-parser-keywords.cc (a68_set_up_tables): Add symbols for | |
| BOLD_PRAGMAT_SYMBOL and STYLE_I_PRAGMAT_SYMBOL in both upper and | |
| supper stropping. | |
| * a68-parser-attrs.def (BOLD_PRAGMAT_BEGIN_SYMBOL): New AST | |
| attribute. | |
| (BOLD_PRAGMAT_END_SYMBOL): Likewise. | |
| (STYLE_I_PRAGMAT_BEGIN_SYMBOL): Likewise. | |
| (STYLE_I_PRAGMAT_END_SYMBOL): Likewise. | |
| * a68-lang.cc (a68_post_options): -fbrackets is not compatible | |
| with supper stropping. | |
| 2026-10-18 Jose E. Marchesi <jemarch@gnu.org> | |
| PR algol68/127977 | |
| * a68-low.cc (a68_low_assignation): Compare types using | |
| TYPE_CANONICAL. | |
| * a68-low-moids.cc (lower_proc_mode): Do not | |
| SET_TYPE_STRUCTURAL_EQUALITY. | |
| (lower_union_mode): Likewise. | |
| 2026-10-17 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-lang.cc (a68_build_a68_type_nodes): Define fixed sized modes | |
| in terms of standard types. | |
| * a68-low-reals.cc (a68_real_pow): Dispatch builtins based on type | |
| equality rather than precision. | |
| (a68_real_round): Likewise. | |
| (a68_real_entier): Likewise. | |
| 2026-10-11 Jose E. Marchesi <jemarch@gnu.org> | |
| PR algol68/127797 | |
| * a68-low-reals.cc (a68_real_pow): Fix selection of pow builtin. | |
| 2026-10-11 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-lang.cc (a68_build_a68_type_nodes): Remove spurious assignment. | |
| 2026-10-08 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-reals.cc (a68_real_entier): Fix for non 64-bit targets. | |
| (a68_real_round): Likewise. | |
| (a68_real_pow): Likewise. | |
| 2026-10-04 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68.texi (Extended environment enquiries): Document environment | |
| enquiries related to word sized modes. | |
| (Extended standard modes): New section. | |
| (Extended integral operators): Likewise. | |
| (Extended real operators): Likewise. | |
| 2026-10-04 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-imports.cc (complete_encoded_mode): Handle word sized modes. | |
| 2026-10-04 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-prelude.cc (stand_prelude): Add definitions for | |
| shortmaxbits and shortshortmaxbits. | |
| (gnu_prelude): Add new standard definitions for fixed sized modes. | |
| * a68-low-prelude.cc (a68_lower_tan): New function. | |
| (a68_lower_long_sin): Likewise. | |
| (a68_lower_long_long_cos): Likewise. | |
| (a68_lower_asin): Likewise. | |
| (a68_lower_long_atan): Likewise. | |
| (a68_lower_long_long_ln): Likewise. | |
| (a68_lower_exp): Likewise. | |
| (a68_lower_longreali): Likewise. | |
| * a68.h: Add prototype for a68_lower_wordbitswidth. | |
| 2026-10-04 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-bits.cc (a68_get_bits_skip_tree): Handle fixed | |
| sized modes. | |
| * a68-low-prelude.cc (a68_lower_wordbitswidth): New function. | |
| (a68_lower_wordreali): Likewise. | |
| (a68_lower_wordinti): Likewise. | |
| * a68-low-units.cc (a68_lower_denotation): Likewise. | |
| * a68-low-reals.cc (a68_real_pow): Likewise. | |
| (a68_real_round): Likewise. | |
| (a68_real_entier): Likewise. | |
| (a68_get_real_skip_tree): Likewise. | |
| * a68-low-moids.cc (lower_standard_mode): Likewise. | |
| * a68-low-ints.cc (a68_get_int_skip_tree): Likewise. | |
| * a68-low-decls.cc: Likewise. | |
| * a68-low-complex.cc (a68_complex_widen_from_real): Likewise. | |
| * a68-low-coercions.cc: Likewise. | |
| (a68_lower_widening): Likewise. | |
| 2026-10-04 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-attrs.def (FIXETY): New attribute. | |
| (WORD_SYMBOL): Likewise. | |
| * a68.h (a68_word_bits_type): Define. | |
| (a68_word_bytes_type): Likewise. | |
| (a68_word_int_type): Likewise. | |
| (a68_word_real_type): Likewise. | |
| * a68-types.h (enum a68_tree_index): Add enumerated values | |
| A68_WORD_{INT,BITS,BYTES,REAL}_TYPE. | |
| * a68-lang.cc (a68_build_a68_type_nodes): Initialize | |
| a68_word_{int,bits,bytes,real}_type. | |
| (a68_type_for_mode): Handle a68_word_{int,bits,bytes,real}_type. | |
| * a68-moids-misc.cc (a68_is_transput_mode): Handle fixed sized | |
| modes. | |
| (a68_widens_to): Likewise. | |
| * a68-moids-to-string.cc (moid_to_string_2): Likewise. | |
| * a68-parser-bottom-up.cc (reduce_declarers): Reduce fixetys. | |
| (reduce_primary_parts): Likewise. | |
| * a68-parser-keywords.cc (a68_set_up_tables): Add keyword for | |
| WORD_SYMBOL. | |
| * a68-parser-modes.cc (count_sizety): Handle sizetys. | |
| (get_mode_from_declarer): Likewise. | |
| (get_mode_from_denotation): Likewise. | |
| * a68-parser-victal.cc (victal_check_declarer): Likewise. | |
| (compute_derived_modes): Resolve equivalences in M_WORD_* standard | |
| modes. | |
| * a68-parser-moids-check.cc (find_operator): Handle fixed sized | |
| modes. | |
| * a68-parser-prelude.cc (stand_moids): Build standard fixed sized | |
| modes and operators. | |
| 2026-10-04 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68.vw (12D): Add meta-alternative for word. | |
| (81A): Likewise. | |
| (65C): Add meta-alternative for WORD. | |
| (65H): New metaproduction rule. | |
| (82o): New hyper-rule. | |
| (94d): New word symbol. | |
| 2026-10-01 Pietro Monteiro <pietro@sociotechnical.xyz> | |
| * ga68.texi (Comments and pragmats): Correct description of | |
| nestable comments on UPPER stropping and fix example code. | |
| 2026-09-27 Cupertino Miranda <cupertinomiranda@gmail.com> | |
| * a68-lang.cc (a68_init): Anticipate the execution of | |
| a68_init_ranges. | |
| (get_global_context): Removed function. | |
| (pushdecl): Replace call to get_global_context by | |
| a68_range_context. | |
| * a68.h: Remove A68_GLOBAL_CONTEXT macro. | |
| 2026-09-27 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-moids.cc (build_stub_type_decl): Remove function. | |
| (lower_struct_mode): Do not call build_stub_type_decl. | |
| (lower_union_mode): Likewise. | |
| 2026-09-25 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-types.h (struct TAG_T): Add field ctyp. | |
| * a68-parser.cc (a68_new_tag): Initialize CTYPE. | |
| * a68-low-decls.cc (fish_declarer_from_tree): New function. | |
| (grok_typedef_in_decl): Likewise. | |
| (a68_lower_mode_declaration): Install typedef variant type for a | |
| defining-indicant in the symtab. | |
| (a68_lower_variable_declaration): Call grok_typedef_in_decl. | |
| (a68_lower_identity_declaration): Likewise. | |
| * a68-low-ranges.cc (a68_pop_serial_clause_range): Compare main | |
| variant types in sanity check at block exit. | |
| * a68-low.cc (a68_low_assignation): Likewise in assignation. | |
| 2026-09-25 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-bits.cc: Use front-end type nodes consistently. | |
| * a68-low-bools.cc: Likewise. | |
| * a68-low-chars.cc: Likewise. | |
| * a68-low-clauses.cc: Likewise. | |
| * a68-low-ints.cc: Likewise. | |
| * a68-low-multiples.cc: Likewise. | |
| * a68-low-prelude.cc: Likewise. | |
| * a68-low-reals.cc: Likewise. | |
| * a68-low-unions.cc: Likewise. | |
| * a68-low-units.cc: Likewise. | |
| * a68-low.cc: Likewise. | |
| 2026-09-25 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-decls.cc (a68_lower_mode_declaration): Use | |
| a68_add_global_decl for mode declarations in public ranges. | |
| 2026-09-25 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68.h: Add prototypes for a68_add_global_decl and | |
| a68_global_context. | |
| * a68-low-ranges.cc (a68_add_global_decl): New function. | |
| (a68_global_context): Likewise. | |
| 2026-09-24 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-moids-equivalence.cc (are_modes_equivalent): Do not | |
| string-compare INDICANTs. | |
| 2026-09-22 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low.cc (lower_module_text): Mark prelude_decl an | |
| postlude_decl as artificial. | |
| 2026-09-21 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-modes.cc (a68_resolve_equivalent): Rename from | |
| resolve_equivalent and made global. | |
| (resolve_eq_members): Adapt calls to resolve_equivalent | |
| accordingly. | |
| (resolve_eq_tags): Likewise. | |
| (bind_modes): Likewise. | |
| (compute_derived_modes): Likewise. | |
| * a68.h: Add prototype for a68_resolve_equivalent. | |
| * a68-parser-extract.cc (a68_extract_revelation): Resolve | |
| equivalences in imported modes. | |
| 2026-09-21 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-attrs.def (COMPLEX_SYMBOL): Remove. | |
| * a68-parser-bottom-up.cc (reduce_declarers): Remove reduction of | |
| COMPLEX_SYMBOL. | |
| (reduce_declarers): Do not handle COMPLEX_SYMBOL. | |
| * a68-parser.cc (a68_dont_mark_here): Likewise. | |
| 2026-09-20 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-units.cc (a68_lower_denotation): strtoul can return | |
| errno /= 0 in overflow. | |
| 2026-09-19 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68.vw: Typos fixed, section 8.0.1 added, consistent {x} style | |
| to refer to rules within pragmatics. | |
| 2026-09-19 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-sprops.cc (make_origin): Initialize properties of the | |
| new origin from a parse node. | |
| (sprops_for_denotation): Pass parse node to make_origin and remove | |
| now superfluous code. | |
| (sprops_for_deproceduring): Likewise. | |
| (sprops_for_proceduring): Likewise. | |
| (sprops_for_loop_clause): Likewise. | |
| (sprops_for_serial_clause): Likewise. | |
| (sprops_for_parallel_clause): Likewise. | |
| (sprops_for_conditional_clause): Likewise. | |
| (sprops_for_case_clause): Likewise. | |
| (sprops_for_collateral_clause): Likewise. | |
| (sprops_for_conformity_clause): Likewise. | |
| (sprops_for_identity_relation): Likewise. | |
| (sprops_for_logical_function): Likewise. | |
| (sprops_for_call): Likewise. | |
| (sprops_for_generator): Likewise. | |
| (sprops_for_formula): Likewise. | |
| (sprops_for_applied_identifier): Likewise. | |
| (sprops_for_assertion): Likewise. | |
| (sprops_for_decl): Likewise. | |
| (sprops_for_unit): Likewise. | |
| 2026-09-19 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-sprops.cc (sprops_for_deproceduring): Set BNO. | |
| (sprops_for_proceduring): Likewise. | |
| (sprops_for_loop_clause): Likewise. | |
| (sprops_for_serial_clause): Likewise. | |
| (sprops_for_parallel_clause): Likewise. | |
| (sprops_for_conditional_clause): Likewise. | |
| (sprops_for_case_clause): Likewise. | |
| (sprops_for_collateral_clause): Likewise. | |
| (sprops_for_conformity_clause): Likewise. | |
| (sprops_for_identity_relation): Likewise. | |
| (sprops_for_logical_function): Likewise. | |
| (sprops_for_call): Likewise. | |
| (sprops_for_generator): Likewise. | |
| (sprops_for_formula): Likewise. | |
| (sprops_for_assertion): Likewise. | |
| (sprops_for_decl): Likewise. | |
| (sprops_for_decl): Likewise. | |
| (sprops_for_unit): Likewise. | |
| 2026-09-19 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-types.h: Clarify roles of field set by the scope checker in | |
| TAG_T. | |
| 2026-09-19 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-scope.cc: Do not claim the scope pass finishes the | |
| parser. | |
| 2026-09-18 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68.h: Add prototypes for a68_sprops, a68_yields_value and | |
| a68_is_declaration. | |
| * a68-types.h (a68_access): New type. | |
| (a68_kindo): Likewise. | |
| (ORIGIN_T): Likewise. | |
| (ACCESS_T): Likewise. | |
| (NODE_T): Add fields origin and access. | |
| (TAG_T): Likewise. | |
| (ACCESS_NIHIL): Remove. | |
| (ACCESS_CONSTANT): Likewise. | |
| (ACCESS_DIRIDEN): Likewise. | |
| (ACCESS_INDIDEN): Likewise. | |
| (ACCESS_DIRWOST): Likewise. | |
| (DEFLEX): Likewise. | |
| (FLEXO): Likewise. | |
| (BNO): Define. | |
| (DEFLEX): Likewise. | |
| (DIAGO): Likewise. | |
| * a68-parser-sprops.cc: New file. | |
| * a68-parser-attrs.def: New comment. | |
| * a68-parser-bottom-up.cc (reduce_enquiry_clauses): Add a few | |
| comments to improve readability. | |
| * a68-parser.cc (a68_is_declaration): New function. | |
| (a68_yields_value): Likewise. | |
| (a68_parser): Run the sprops pass. | |
| (a68_new_node): Initialize ORIGIN and ACCESS. | |
| (a68_new_tag): Likewise, for tags. | |
| * Make-lang.in (ALGOL68_OBJS): Build algol68/a68-parser-sprops.o. | |
| * a68-parser-debug.cc (a68_dump_parse_tree_1): Show static | |
| properties whenever requested. | |
| * a68-low-clauses.cc: Fix grammar for initialiser series and | |
| closed clause in comments. | |
| * a68-low.cc (a68_low_assignation): Fix comment. | |
| 2026-09-16 Pietro Monteiro <pietro@sociotechnical.xyz> | |
| * a68-parser.cc (a68_get_node_location): Return a location | |
| that covers the whole span of the node. | |
| 2026-09-16 Pietro Monteiro <pietro@sociotechnical.xyz> | |
| * a68-low-bits.cc (a68_bits_elem): Use LINE_NUMBER (p) instead | |
| of NUMBER (LINE (INFO (p))). | |
| * a68-low-chars.cc (a68_char_repr): Likewise. | |
| * a68-low-coercions.cc (a68_lower_uniting): Likewise. | |
| * a68-low-misc.cc (a68_lower_assertion): Likewise. | |
| * a68-low-multiples.cc (a68_multiple_slice): Likewise. | |
| (a68_multiple_single_bound_check): Likewise. | |
| (a68_boundable_dim_check): Likewise. | |
| (a68_multiple_bounds_check): Likewise. | |
| (a68_multiple_bounds_check_equal): Likewise. | |
| * a68-low.cc (a68_checked_indirect_ref): Likewise. | |
| * a68-parser-scanner.cc (new_source_line): Adjust the fields | |
| when creating a LINE_T. | |
| (append_source_line): Add a location_t to the new line. | |
| (append_environ): Track the locations of pre/post-lude. | |
| (read_source_file): Create a linemap for the source file. | |
| (include_files): Create a linemap for included source files. | |
| * a68-parser-top-down.cc (a68_phrase_to_text): Use unsigned | |
| for line numbers. | |
| * a68-parser.cc (a68_get_node_location): Return the location of | |
| the node info line. | |
| (a68_get_line_location): Return the location of the line. | |
| * a68-pretty-print.h (a68_line_format_token): Use the line's | |
| filename to check if it's part of the standard environment. | |
| * a68-types.h (struct LINE_T): Remove filename and number | |
| fields from LINE_T and add location. | |
| (FILENAME): Delete macro. | |
| (LOCATION): New macro. | |
| (LINE_NUMBER): Adjust to use LINE_NO (line). | |
| * a68.h (FILENAME): New function. | |
| (LINE_NO): Likewise. | |
| 2026-09-16 Pietro Monteiro <pietro@sociotechnical.xyz> | |
| * a68-parser-scanner.cc (concatenate_lines): Delete. | |
| (read_source_file): Stop calling concatenate_lines. | |
| (next_char): Skip backslash at the end of lines. | |
| (include_files): Stop calling concatenate_lines. | |
| 2026-09-10 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-ranges.cc (a68_pop_range): Do not consolidate refs in | |
| last unit in the range's statement list, becuase it has already | |
| been consolidated. | |
| (a68_add_completer): Just call to a68_consolidate_ref and avoid | |
| tsi_delink. | |
| (a68_pop_serial_clause_range): Likewise. | |
| * a68-low-clauses.cc (a68_lower_labeled_unit): Consolidate ref in | |
| second componend of compound expr. | |
| * a68-low.cc (a68_consolidate_ref): Simplify and do not handle | |
| compound expressions in a special way. | |
| 2026-07-20 Jose E. Marchesi <jemarch@gnu.org> | |
| PR algol68/126330 | |
| * a68-low-chars.cc (a68_char_max): abscharmax is an int, not a | |
| char. | |
| 2026-07-16 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68.texi (POSIX files): Fix typo. | |
| 2026-07-14 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68-coding-guidelines.texi (Conditional clauses): Fix typo | |
| if-parts -> else-parts. | |
| 2026-07-05 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-units.cc (a68_lower_denotation): Check for denotations | |
| too big for bits modes. | |
| 2026-07-05 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68.vw: Add syntax for the GNU68-2026-003-decimal-radices | |
| language extension. | |
| * a68-parser-scanner.cc (get_next_token): Recognize decimal bits | |
| denotations. | |
| (get_next_token): Emit an error if an invalid radix is found in a | |
| bits denotation. | |
| 2026-06-24 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-moids-sorting.cc (packs_ordering): Do not rely on pointer | |
| comparison when comparing pack element names. | |
| 2026-06-24 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-imports.cc (complete_encoded_mode): Fix comment on ordering | |
| of union packs entries. | |
| 2026-06-22 Kanishka Solanki <kanishkasolanki456s@gmail.com> | |
| * a68-lang.cc (a68_get_alias_set): New function. | |
| (LANG_HOOKS_GET_ALIAS_SET): Define to a68_get_alias_set. | |
| 2026-06-19 Kanishka Solanki <kanishkasolanki456s@gmail.com> | |
| * a68-low-clauses.cc (a68_lower_collateral_clause): Do not check | |
| for rows before calling a68_low_dup. | |
| * a68-low-units.cc (collect_call_arguments): Likewise. | |
| 2026-06-16 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-imports.cc (a68_replace_equivalent_mode): Get a moif and | |
| check extracts. | |
| (a68_open_packet): Fix deduplication of in-moif modes and move | |
| extract replacement code to a68_replace_equivalent_mode. | |
| * a68-low-moids.cc (a68_lower_moids): Check that all known modes | |
| have an associated ctype as part of the sanity checks. | |
| 2026-06-16 Gerald Pfeifer <gerald@pfeifer.com> | |
| * README: Avoid redirect for web link to Algol 68 Jargon File. | |
| * ga68-coding-guidelines.texi (Top): Ditto. | |
| 2026-06-15 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-taxes.cc (attr_descr): New function. | |
| (already_declared): Use attr_descr for diagnostic. | |
| (already_declared_hidden): Likewise. | |
| 2026-06-15 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-imports.cc (INCLUDE_VECTOR): Define. | |
| (a68_open_packet): Deduplicate within-moif modes while importing. | |
| 2026-06-15 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-extract.cc (a68_extract_indicants): Set PUBLICIZED in | |
| the new tags for mode indicants. | |
| * a68-parser.cc (a68_new_tag): Initialize PUBLICIZED to false. | |
| 2026-06-14 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-brackets.cc (INCLUDE_STRING): Define. | |
| Do not include <string. | |
| * a68-parser-bottom-up.cc (INCLUDE_STRING): Define. | |
| Do not include <string>. | |
| * a68-moids-diagnostics.cc (INCLUDE_STRING): Define. | |
| Do not include <string>. | |
| * a68-imports.cc (INCLUDE_STRING): Define. | |
| Do not include <string>. | |
| * a68-imports-archive.cc (INCLUDE_MAP): Define. | |
| (INCLUDE_STRING): Likewise. | |
| Do not include <string> nor <map>. | |
| 2026-06-14 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-imports.cc (struct encoded_mode): Type of flex.sub_offset | |
| shall be uint64_t. | |
| 2026-06-14 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-brackets.cc (bracket_check_error): Escape %< and | |
| %> in call to printf. | |
| 2026-06-13 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-brackets.cc: Include <string>. | |
| (bracket_check_error): Get additional argument `item'. | |
| (bracket_check_diagnose): Likewise. | |
| (bracket_check_parse): Fix call to a68_error passing the `item'. | |
| 2026-06-13 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low.cc (a68_demangle_symbol): Fix typo, 'p' is the mangling | |
| of '%', not of '+'. | |
| 2026-06-13 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-generator.cc (a68_low_generator): Wrap the resulting | |
| stmt_list into a nop_expr. | |
| 2026-06-13 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-clauses.cc (a68_lower_collateral_clause): Check that | |
| a68_lower_tree on the units list return NULL_TREE. | |
| 2026-06-13 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-units.cc (a68_lower_formula): Consolidate operands of | |
| formula before call. | |
| (a68_lower_monadic_formula): Likewise. | |
| 2026-06-12 Pietro Monteiro <pietro@sociotechnical.xyz> | |
| * a68-imports.cc (a68_try_suffixes): Use .dylib suffix on Darwin. | |
| Use .dll suffix and optional lib prefix on Windows. | |
| 2026-06-08 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-pretty-print.h (a68_attr_format_token): Get diagnostic | |
| string from a68_attribute_name. | |
| 2026-06-03 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68.texi (Worthy characters): Remove spurious @ entry in the | |
| list of worthy characters. | |
| 2026-06-03 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68.vw (Modes and nests): Incorporate syntax from the RR | |
| chapter 7. | |
| 2026-06-03 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-bottom-up.cc (recover_from_error): Use the output of | |
| a68_phrase_to_text as format string so format tags are honored. | |
| 2026-06-02 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-modes.cc (WELL): Define. | |
| (NO_YIN): Likewise. | |
| (NO_YANG): Likewise. | |
| (UNWELL): Likewise. | |
| (is_well_formed): Discriminate reason for the given mode to not be | |
| well formed. | |
| (a68_make_moid_list): Emit note explaining why a mode is not well | |
| formed. | |
| 2026-05-30 Dhruv Chawla <dhruvc@nvidia.com> | |
| * a68-imports-archive.cc (struct Archive_fl_header): Fix typos. | |
| * a68-imports.cc (encoded_mode_free): Likewise. | |
| * a68-low-chars.cc (a68_char_repr): Likewise. | |
| * a68-low-clauses.cc (a68_lower_label): Likewise. | |
| (a68_lower_labeled_unit): Likewise. | |
| (a68_lower_completer): Likewise. | |
| (a68_lower_initialiser_series): Likewise. | |
| (a68_lower_case_clause): Likewise. | |
| * a68-low-decls.cc (a68_lower_variable_declaration): Likewise. | |
| (a68_lower_procedure_variable_declaration): Likewise. | |
| * a68-low-ints.cc (a68_get_int_skip_tree): Likewise. | |
| (a68_int_maxval): Likewise. | |
| * a68-low-moids.cc (lower_struct_mode): Likewise. | |
| * a68-low-multiples.cc (a68_multiple_single_bound_check): Likewise. | |
| * a68-low-prelude.cc (a68_lower_divab3): Likewise. | |
| (a68_lower_upb3): Likewise. | |
| (a68_lower_lwb3): Likewise. | |
| * a68-low-procs.cc (a68_get_proc_skip_tree): Likewise. | |
| * a68-low-reals.cc (a68_real_maxval): Likewise. | |
| (a68_real_minval): Likewise. | |
| * a68-low-units.cc (a68_lower_identifier): Likewise. | |
| * a68-low.cc (a68_low_assignation): Likewise. | |
| * a68-moids-misc.cc (a68_is_firm): Likewise. | |
| (a68_is_coercible_series): Likewise. | |
| * a68-parser-bottom-up.cc (strange_separator): Likewise. | |
| (a68_bottom_up_parser): Likewise. | |
| * a68-parser-prelude.cc (stand_prelude): Likewise. | |
| * a68-parser-scanner.cc (a68_lexical_analyser): Likewise. | |
| * a68-parser-scope.cc (a68_scope_checker): Likewise. | |
| * a68-parser-serial-dsa.cc (serial_dsa_check_serial_clause): Likewise. | |
| * a68-parser-taxes.cc (test_firmly_related_ops_local): Likewise. | |
| * a68-parser.cc: Likewise. | |
| * a68-types.h (struct KEYWORD_T): Likewise. | |
| (struct OPTIONS_T): Likewise. | |
| (struct NODE_T): Likewise. | |
| (struct MODE_CACHE_T): Likewise. | |
| * ga68-coding-guidelines.texi: Likewise. | |
| * ga68.texi: Likewise. | |
| 2026-05-24 Peter Damianov <peter0x44@disroot.org> | |
| * a68-lang.cc (a68_handle_option): Open file in binary mode. | |
| * a68-parser-scanner.cc (read_source_file): Open file in binary mode. | |
| (include_files): Likewise. | |
| 2026-05-20 Pietro Monteiro <pietro@sociotechnical.xyz> | |
| * a68-parser-prelude.cc (gnu_prelude): Map FLOOR(L real):L int | |
| to ENTIER(L real):L int. | |
| * ga68.texi: Add a section for real operators in the Extended | |
| prelude chapter and document FLOOR. | |
| 2026-05-10 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-taxes.cc (is_mappable_routine): Remove handling of | |
| non-implemented math functions. | |
| 2026-05-01 Peter Damianov <peter0x44@disroot.org> | |
| * Make-lang.in: Correct typo exeect -> exeext | |
| 2026-04-22 Thiago Jung Bauermann <thiago.bauermann@linaro.org> | |
| * Make-lang.in (algol68.install-html): Fix | |
| ga68-coding-guidelines dependency. Install all dependencies. | |
| 2026-03-23 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68-coding-guidelines.texi (Comments): Fix typo. | |
| 2026-03-14 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-strings.cc (a68_string_mult): Adjust to RR semantics for | |
| negative or zero factor argument. | |
| * ga68.texi (String operators): Adjust documentation accordingly. | |
| 2026-03-08 Jose E. Marchesi <jemarch@gnu.org> | |
| PR algol68/124372 | |
| * a68-low-units.cc (a68_lower_denotation): Call to strtoull if | |
| INT64_T_IS_LONG is not defined, strtol otherwise. | |
| * a68-parser-scanner.cc (get_next_token): Use strtoul for radix | |
| instead of strtol. | |
| 2026-03-05 Jose E. Marchesi <jemarch@gnu.org> | |
| PR algol68/124322 | |
| * a68-low-holes.cc (a68_wrap_formal_proc_hole): Wrap functions | |
| returning void properly. | |
| 2026-02-27 James Bohl <bohlj47@gmail.com> | |
| * a68-low-prelude.cc (a68_lower_negate2): Annotate denotation | |
| as being negated. | |
| * a68-low-units.cc (a68_lower_denotation): Allow the full range | |
| of negative values if the denotation is negated. | |
| * a68-types.h (struct NODE_T): Add negated field. | |
| (NEGATED): Define. | |
| * a68-parser.cc (a68_new_node): Initialize NEGATED. | |
| 2026-02-26 James Bohl <bohlj47@gmail.com> | |
| * a68-low-units.cc (a68_lower_denotation): Add error on | |
| integral denotation overflow. | |
| 2026-02-25 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-imports-archive.cc (Archive_file): Handle Darwin #1/NN | |
| archive members. | |
| 2026-02-25 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-units.cc (lower_subscript_for_trimmers): Do not revise | |
| bounds if no trimscript. | |
| 2026-02-23 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68.h: Remove prototypes for *_width functions. | |
| * a68-parser-prelude.cc (stand_prelude): Do not define *width | |
| functions. | |
| * a68-low-ints.cc (a68_int_width): Remove. | |
| * a68-low-reals.cc (a68_real_width): Likewise. | |
| (a68_real_exp_width): Likewise. | |
| * a68-low-prelude.cc (a68_lower_longintwidth): Likewise. | |
| (a68_lower_intwidth): Likewise. | |
| (a68_lower_longlongintwidth): Likewise. | |
| (a68_lower_shortintwidth): Likewise. | |
| (a68_lower_shortshortintwidth): Likewise. | |
| (a68_lower_realwidth): Likewise. | |
| (a68_lower_longrealwidth): Likewise. | |
| (a68_lower_longlongrealwidth): Likewise. | |
| (a68_lower_expwidth): Likewise. | |
| (a68_lower_longexpwidth): Likewise. | |
| (a68_lower_longlongexpwidth): Likewise. | |
| 2026-02-22 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-units.cc (lower_subscript_for_trimmers): Do not crash | |
| with trimmers with implicit lower and upper bounds. | |
| 2026-02-21 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-bottom-up.cc (reduce_formal_holes): Fix error format | |
| tag. | |
| * a68-parser-taxes.cc (test_firmly_related_ops_local): Likewise. | |
| (already_declared_hidden): Likewise. | |
| 2026-02-21 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-imports-archive.cc (Archive_file::initialize_big_archive): | |
| Fix formatting tag in call to a68_error. | |
| 2026-02-21 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-moids-diagnostics.cc (a68_mode_error_text): Properly escape | |
| %< and %> in snprintf calls. | |
| 2026-02-21 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-pretty-print.h: New file. | |
| * a68.h: Mark prototypes of diagnostic functions with | |
| ATTRIBUTE_A68_DIAG. | |
| * a68-diagnostics.cc (diagnostic): Do not translate upper-case | |
| tags and pass a copy of the va_list `args' to diagnostic_set_info. | |
| Mark with ATTRIBUTE_A68_DIAG. | |
| * a68-imports-archive.cc: Convert to use standard error format | |
| tags. | |
| * a68-parser-victal.cc: Likewise. | |
| * a68-parser-top-down.cc: Likewise. | |
| * a68-parser-taxes.cc: Likewise. | |
| * a68-parser-scanner.cc: Likeise. | |
| * a68-parser-moids-check.cc: Likewise. | |
| * a68-parser-modes.cc: Likewise. | |
| * a68-parser-extract.cc: Likewise. | |
| * a68-parser-pragmat.cc: Likewise. | |
| * a68-parser-scope.cc: Likewise. | |
| * a68-parser-brackets.cc: Likewise. | |
| * a68-parser-bottom-up.cc: LIkewise. | |
| * a68-moids-diagnostics.cc: Likewise. | |
| * a68-imports.cc: Likewise. | |
| 2026-02-21 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low.cc (a68_make_formal_hole_decl): Get a boolean indicating | |
| whether the declaration is for the address of the given symbol. | |
| * a68.h: Update prototype of a68_make_formal_hole_decl. | |
| * a68-low-holes.cc (a68_wrap_formal_var_hole): Pass a boolean to | |
| a68_make_formal_hole_decl indicating whether an address is | |
| required. | |
| 2026-02-21 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-prelude.cc (stand_prelude): Remove definitions for | |
| bitpacks. | |
| 2026-02-21 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-moids-misc.cc (a68_is_c_mode): Allow C formal holes for | |
| routines yielding strings. | |
| * a68-low-holes.cc (a68_wrap_formal_proc_hole): Support wrappers | |
| that yield strings. | |
| * a68.h: Remove a68_posix_* and a68_lower_posix* prototypes. | |
| * a68-low-posix.cc: Remove. | |
| * a68-imports.cc (a68_open_packet): Get argument filename. | |
| * Make-lang.in (ALGOL68_OBJS): Remove algol68/a68-low-posix.o. | |
| * a68-low-runtime.def: Remove POSIX_*. | |
| * lang.opt (-fcheck): Add new undocumented option -fbuilding-libga68. | |
| * a68-parser-prelude.cc (stand_transput): New function. | |
| (posix_prelude): Remove hardcoded additions to the top-level | |
| environment and use a68_extract_revelations instead. | |
| * a68-parser-extract.cc (a68_extract_revelation): Renamed from | |
| extract_revelation and made accessible externally. | |
| * a68-low.cc (a68_make_formal_hole_decl): Remove unneeded check. | |
| (lower_lude_decl): New function. | |
| (lower_module_text): Add calls to preludes and postludes of | |
| standard modules if not building libga68. | |
| (a68_lower_particular_program): Likewise. | |
| * a68-low-prelude.cc (a68_lower_posixargc): Remove. | |
| (a68_lower_posixargv): Likewise. | |
| (a68_lower_posixgetenv): Likewise. | |
| (a68_lower_posixputchar): Likewise. | |
| (a68_lower_posixputs): Likewise. | |
| (a68_lower_posixfconnect): Likewise. | |
| (a68_lower_posixfopen): Likewise. | |
| (a68_lower_posixfcreate): Likewise. | |
| (a68_lower_posixfclose): Likewise. | |
| (a68_lower_posixfsize): Likewise. | |
| (a68_lower_posixlseek): Likewise. | |
| (a68_lower_posixseekcur): Likewise. | |
| (a68_lower_posixseekend): Likewise. | |
| (a68_lower_posixseekset): Likewise. | |
| (a68_lower_posixstdinfiledes): Likewise. | |
| (a68_lower_posixstdoutfiledes): Likewise. | |
| (a68_lower_posixstderrfiledes): Likewise. | |
| (a68_lower_posixfileodefault): Likewise. | |
| (a68_lower_posixfileordwr): Likewise. | |
| (a68_lower_posixfileordonly): Likewise. | |
| (a68_lower_posixfileowronly): Likewise. | |
| (a68_lower_posixfileotrunc): Likewise. | |
| (a68_lower_posixerrno): Likewise. | |
| (a68_lower_posixexit): Likewise. | |
| (a68_lower_posixperror): Likewise. | |
| (a68_lower_posixstrerror): Likewise. | |
| (a68_lower_posixfputc): Likewise. | |
| (a68_lower_posixfputs): Likewise. | |
| (a68_lower_posixgetchar): Likewise. | |
| (a68_lower_posixfgetc): Likewise. | |
| (a68_lower_posixgets): Likewise. | |
| (a68_lower_posixfgets): Likewise. | |
| 2026-02-21 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-types.h (NO_LOWERER): Redefine as NULL. | |
| (LOWERER_UNIMPL): Define. | |
| * a68-parser-prelude.cc (a68_idf): Use LOWERER_UNIMPL instead of | |
| NO_LOWERER. | |
| (a68_prio): Likewise. | |
| (a68_op): Likewise. | |
| * a68-low-units.cc (a68_lower_identifier): Do not assume | |
| declarations in A68_STANDENV all have lowerers. | |
| (a68_lower_formula): Likewise. | |
| (a68_lower_monadic_formula): Likewise. | |
| 2026-02-21 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-imports.cc (a68_find_export_data): Make visible externally. | |
| (a68_find_export_data): Try reading export data from an archive | |
| file. | |
| * a68.h: Adjust prototype of a68_find_export_data accordingly. | |
| * a68-imports-archive.cc: New file. | |
| * Make-lang.in (ALGOL68_OBJS): Build algol/a68-imports-archive.o. | |
| 2026-02-16 Jose E. Marchesi <jemarch@gnu.org> | |
| PR algol68/124115 | |
| * a68-low-holes.cc (get_hole_symbol): Always set *addrp to avoid | |
| uninitialized memory. | |
| * a68-low.cc (a68_make_formal_hole_decl): Remove assert. | |
| 2026-02-12 James Bohl <bohlj47@gmail.com> | |
| PR algol68/124049 | |
| * Make-lang.in (ALGOL68_OBJS): Add algol68/a68-moids-sorting.o. | |
| * a68.h: Add prototype for a68_sort_union_packs. | |
| * a68-moids-sorting.cc: New file. | |
| * a68-parser-modes.cc (a68_make_moid_list): Call a68_sort_union_packs. | |
| * ga68-exports.pk (ga68_mode_64): Add comment on union mode ordering. | |
| 2026-02-11 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68-coding-guidelines.texi (Enquiry clauses): New section. | |
| 2026-02-10 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-units.cc (a68_lower_formal_hole): Call | |
| a68_wrap_formal_proc_hole after a68_add_decl. | |
| 2026-02-09 Jose E. Marchesi <jemarch@gnu.org> | |
| PR algol68/124028 | |
| * a68-low-bits.cc (a68_bits_shift): Avoid uninitialized save_expr. | |
| 2026-02-09 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-holes.cc (a68_wrap_formal_proc_hole): The wrapper is not | |
| a top-level function. | |
| * a68-low-units.cc (a68_lower_formal_hole): Reorder code and | |
| remove spurious comment. | |
| 2026-02-06 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-units.cc (a68_lower_denotation): Fix call to | |
| a68_u8_mbtouc. | |
| 2026-02-06 Jose E. Marchesi <jemarch@gnu.org> | |
| * Make-lang.in (ALGOL68_OBJS): Add algol68/a68-low-holes.o. | |
| * a68.h: Update prototypes. | |
| * a68-types.h (struct TAG_T): New field nest_proc. | |
| (NEST_PROC): Define. | |
| * a68-parser.cc (a68_new_tag): Initialize NEST_PROC. | |
| * a68-parser-extract.cc (extract_identities): Use NEST_PROC | |
| instead of IN_PROC for taxes for defining-identifiers in identity | |
| declarations of proc modes with formal holes as actual parameters. | |
| * a68-moids-misc.cc (a68_is_c_mode): Modified to allow strings as | |
| direct parameters. | |
| * a68-low.cc (a68_make_proc_formal_hole_decl): Remove. | |
| * a68-low-units.cc (a68_lower_identifier): Improve commentary. | |
| (a68_lower_formal_hole): Factorize. | |
| * a68-low-holes.cc: New file. | |
| * a68-low-decls.cc (a68_lower_identity_declaration): Optimize | |
| identity declarations of proc mode with formal holes as actual | |
| parameters. | |
| * a68-exports.cc (a68_add_identifier_to_moif): Honor NEST_PROC. | |
| * ga68.texi (Communicating with C): Strings can now be passed as | |
| parameters in formal holes. | |
| 2026-02-05 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-clauses.cc (a68_lower_revelation_ludes): Fix function | |
| type for fdecl. | |
| 2026-02-05 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-bits.cc (a68_bits_set): Make bit number zero-based rathe | |
| than one-based. | |
| (a68_bits_clear): Likewise. | |
| (a68_bits_test): Likewise. | |
| * ga68.texi (Extended bits operators): Adapt documentation | |
| accordingly. | |
| 2026-02-05 Jose E. Marchesi <jemarch@gnu.org> | |
| PR algol68/123959 | |
| * a68.h: Expand prototype of a68_bits_shift to get a node argument | |
| for location purposes. | |
| * a68-low-bits.cc (a68_bits_shift): Implement RR compatible | |
| semantics. | |
| * a68-low-prelude.cc (a68_lower_shl3): Fix call to a68_bit_shift. | |
| (a68_lower_shr3): Likewise. | |
| * ga68.texi (Bits operators): Fix documentation of SHR and SHL. | |
| 2026-02-03 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * a68-parser-extract.cc (a68_extract_indicants): Don't call FORWARD if | |
| skip_module_text returns NO_NODE. | |
| 2026-02-01 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-low-bits.cc (a68_bits_test): Do not get a parameter with the | |
| result moid. | |
| * a68.h: Adapt prototype of a68_bits_test accordingly. | |
| * a68-low-prelude.cc (a68_lower_test3): Adjust call accordingly. | |
| 2026-02-01 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68.h: Prototype for a68_make_proc_formal_hole_decl. | |
| * a68-parser-extract.cc (extract_identities): Mark identity | |
| declarations of proc modes whose actual parameter is a formal hole | |
| as "inproc". | |
| * a68-low.cc (a68_make_proc_formal_hole_decl): New function. | |
| * a68-low-units.cc (a68_lower_formal_hole): Call | |
| a68_make_proc_formal_hole_decl whenever necessary. | |
| 2026-01-31 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68.h: Prototypes for a68_bits_test and a68_lower_test3. | |
| * a68-low-bits.cc (a68_bits_test): New function. | |
| * a68-low-prelude.cc (a68_lower_test3): Likewise. | |
| * a68-parser-prelude.cc (gnu_prelude): Declare TEST operators and | |
| their priority. | |
| * ga68.texi (Extended bits operators): New section. | |
| 2026-01-31 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68.texi (POSIX files): Document SET and CLEAR operators. | |
| * a68.h: Prototypes for a68_bits_set, a68_bits_clear, | |
| a68_lower_set3 and a68_lower_clear3. | |
| * a68-low-bits.cc (a68_bits_set): New function. | |
| (a68_bits_clear): Likewise. | |
| * a68-low-prelude.cc (a68_lower_set3): Likewise. | |
| (a68_lower_clear3): Likewise. | |
| * a68-parser-prelude.cc (gnu_prelude): Declare operators SET and | |
| CLEAR and their priorities. | |
| 2026-01-30 Marc Poulhiès <dkm@kataplop.net> | |
| * ga68-coding-guidelines.texi: Typo fix. | |
| 2026-01-29 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68.vw: Update formal grammar to express the GNU extension. | |
| * a68-parser.cc (a68_dont_mark_here): Likewise. | |
| * a68-parser-scanner.cc (SINGLE_QUOTE_CHAR): Define. | |
| (get_next_token): Recognize ' as QUOTE_SYMBOL. | |
| (tokenise_source): Acknowledge QUOTE_SYMBOL. | |
| * a68-parser-keywords.cc (a68_set_up_tables): Likewise. | |
| * a68-parser-bottom-up.cc (reduce_primary_parts): Adjust parser to | |
| brief form of selection. | |
| * a68-parser-attrs.def (QUOTE_SYMBOL): New attribute. | |
| * ga68.texi (Brief selection): New section. | |
| 2026-01-29 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68.vw: Fix grammar for formal holes. | |
| * ga68.texi (Particular programs): New section. | |
| (Comments): Likewise. | |
| * a68.h: Prototypes for a68_is_c_mode, a68_make_fomal_hole_decl, | |
| a68_lower_formal_hole. | |
| * a68-parser-attrs.def (FORMAL_HOLE): New attribute. | |
| (LANGUAGE_INDICANT): Likewise. | |
| * a68-parser-extract.cc (a68_elaborate_bold_tags): Elaborate | |
| language indicants. | |
| * a68-parser-moids-check.cc (mode_check_unit): Check mode in | |
| formal holes. | |
| * a68-low-units.cc (a68_lower_formal_hole): New function. | |
| * a68-low.cc (a68_make_formal_hole_decl): Likewise. | |
| * a68-moids-misc.cc (a68_is_c_mode): Likewise. | |
| * a68-parser-bottom-up.cc (reduce_formal_holes): Likewise. | |
| 2026-01-24 Jose E. Marchesi <jemarch@gnu.org> | |
| PR algol68/123733 | |
| * README: Mention minimum version of libgc. | |
| 2026-01-24 Jose E. Marchesi <jemarch@gnu.org> | |
| Revert: | |
| 2026-01-17 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-prelude.cc (stand_prelude): Remove definitions for ^ | |
| operator. | |
| * ga68.texi (Real operators): Remove entries for ^. | |
| (Integral operators): Likewise. | |
| 2026-01-24 Jose E. Marchesi <jemarch@gnu.org> | |
| PR algol68/123785 | |
| * a68-lang.cc (a68_init): Call a68_build_a68_type_nodes abefore | |
| targetm.init_builtins. | |
| 2026-01-22 Mohammad-Reza Nabipoor <mnabipoor@gnu.org> | |
| PR algol68/123734 | |
| * ga68.texi: Fix code examples to make them compilable. | |
| And s/consists on/consists of/g. | |
| 2026-01-20 Jakub Jelinek <jakub@redhat.com> | |
| * lang.opt (std=algol68, std=gnu68): Add dot at the end of the | |
| description. | |
| 2026-01-20 Pietro Monteiro <pietro@sociotechnical.xyz> | |
| * a68-low-clauses.cc (a68_lower_collateral_clause): Update | |
| call to a68_lower_alloca. | |
| * a68-low-coercions.cc (a68_lower_widening): Likewise. | |
| * a68-low-generator.cc (allocator_t): Adjust typedef. | |
| (fill_in_buffer): Adjust call to allocator. | |
| (gen_mode): Likewise. | |
| * a68-low-multiples.cc (a68_row_malloc): Change type parameter to MOID_T | |
| from tree. Adjust call to a68_lower_malloc. | |
| * a68-low-posix.cc (a68_posix_fgets): Adjust call to a68_row_malloc. | |
| (a68_posix_gets): Likewise. | |
| * a68-low-runtime.def (MALLOC_LEAF): Add definition for | |
| _libga68_malloc_leaf. | |
| * a68-low-strings.cc (a68_string_concat): Adjust call to | |
| a68_lower_malloc. | |
| (a68_string_from_char): Likewise. | |
| * a68-low-units.cc (a68_lower_slice): Likewise. | |
| * a68-low.cc (a68_low_dup): Adjust calls to a68_lower_malloc | |
| and a68_lower_alloca. | |
| (a68_lower_alloca): Change type parameter to MOID_T from tree. | |
| (a68_lower_malloc): Likewise. Use _libga68_malloc_leaf if the MOID_T | |
| doesn't have refs, use _libga68_malloc otherwise. | |
| * a68-parser-modes.cc (a68_create_mode): Set has_refs on the new mode. | |
| (is_mode_has_refs): New function. | |
| (compute_derived_modes): Set has_refs on the chain of modes. | |
| * a68-parser.cc (a68_new_moid): Set has_refs to false by | |
| default. | |
| * a68-types.h (struct MOID_T): Add member `has_refs`. | |
| (HAS_REFS): New macro. | |
| * a68.h (a68_row_malloc): Update prototype. | |
| (a68_lower_alloca): Likewise. | |
| (a68_lower_malloc): Likewise. | |
| 2026-01-17 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-prelude.cc (stand_prelude): Remove definitions for ^ | |
| operator. | |
| * ga68.texi (Real operators): Remove entries for ^. | |
| (Integral operators): Likewise. | |
| 2026-01-17 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68-coding-guidelines.texi: New file. | |
| * Make-lang.in (A68_CODING_GUIDE_MANUAL_FILES): Define. | |
| (A68_TEXI_FILES): Add A68_CODING_GUIDE_MANUAL_FILES. | |
| (doc/ga68-coding-guidelines.info): New rule. | |
| (doc/ga68-coding-guidelines.dvi): Likewise. | |
| (doc/ga68-coding-guidelines.pdf): Likewise. | |
| ($(build_htmldir)/ga68-coding-guidelines/index.html): Likewise. | |
| (algol68.info): Add ga68-coding-guidelines.info. | |
| (algol68.srcinfo): Likewise. | |
| (algol68.install-info): Likewise. | |
| (algol68.install-html): Likewise. | |
| (algol68.dvi): Add ga68-coding-guielines.dvi. | |
| (algol68.pdf): Add ga68-coding-guidelines.pdf. | |
| 2026-01-17 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-moids-equivalence.cc (are_packs_equivalent): Add | |
| explicative comment. | |
| 2026-01-17 Jose E. Marchesi <jemarch@gnu.org> | |
| PR algol68/123653 | |
| * a68-parser-moids-equivalence.cc (are_packs_equivalent): Fix | |
| logic in name comparison. | |
| 2026-01-17 Jose E. Marchesi <jemarch@gnu.org> | |
| * a68-parser-prelude.cc (stand_transput): Do not define | |
| `Number' and `whole' as built-ins. | |
| 2026-01-17 Mohammad-Reza Nabipoor <mnabipoor@gnu.org> | |
| PR algol68/123007 | |
| * a68-lang.cc (a68_type_for_mode): Handle TImode. | |
| (a68_type_for_size): Handle unsigned_intTI_type_node. | |
| 2026-01-15 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68.texi (POSIX files): Fix documentation of lseek. | |
| 2026-01-15 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68.texi (Dialect options): {..} is not a valid variant of | |
| (...). | |
| 2026-01-10 Pietro Monteiro <pietro@sociotechnical.xyz> | |
| * a68-low-posix.cc (a68_posix_setexitstatus): Delete function. | |
| (a68_posix_exit): New function. | |
| * a68-low-prelude.cc (a68_lower_setexitstatus): Delete function. | |
| (a68_lower_posixexit): New function. | |
| * a68-low-runtime.def (SET_EXIT_STATUS): Delete definition. | |
| (POSIX_EXIT): Add definition for posixexit. | |
| * a68-parser-prelude.cc (posix_prelude): Remove setexitstatus | |
| identifier from and add posixexit identifier to standenv. | |
| * a68.h (a68_posix_setexitstatus): Delete prototype. | |
| (a68_lower_setexitstatus): Likewise. | |
| (a68_posix_exit): New prototype. | |
| (a68_lower_posixexit): Likewise. | |
| * ga68.texi: | |
| 2026-01-09 Jose E. Marchesi <jemarch@gnu.org> | |
| * ga68.texi (Worthy characters): Escape @. | |
| 2026-01-04 Jose E. Marchesi <jose.marchesi@oracle.com> | |
| * a68-lang.cc (a68_post_options): Disable psABI warnings. | |
| 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. |