2026-04-30  Release Manager

	* GCC 16.1.0 released.

2026-04-02  Robert Dubner  <rdubner@symas.com>

	* cobol1.cc (cobol_langhook_handle_option): Handle OPT_Wrecording_mode.
	* gcobol.1: Documentation of pre-program registers.
	* genapi.cc (hijacker): Define new function hijacked code generation.
	(RETURN_WHEN_HIJACKED): Macro for wrapping if(hijacked)return;
	(hijacked): Either a boolean or false depending on ENABLE_HIJACKING.
	(set_exception_environment): Use gg_pointer_to_array instead of
	gg_get_address_of.
	(parser_statement_end): Formatting.
	(section_label): Change ALTER STATEMENT processing.
	(pseudo_return_push): Expand TRACE1 message.
	(pseudo_return_pop): Expand TRACE1 message; improved PERFORM processing.
	(find_procedure): Change how cbl_proc_t is allocated; improved PERFORM
	processing.
	(parser_enter_section): Changed ALTER statement processing.
	(parser_enter_paragraph): Likewise.
	(parser_goto): Use SWITCH_EXPR instead of indirect jump.
	(parser_perform): Likewise.
	(internal_perform_through): Likewise.
	(parser_enter_file): Use SWITCH_EXPR for implementing ENTRY statement.
	(parser_leave_file): Build table of values for the SWITCH_EXPR.
	(enter_program_common): Remove unused JMP *ptr.
	(parser_enter_program): Code to hijack code generation for a function
	"dubner" when ENABLE_HIJACKING is defined.
	(build_dispatch_switch): Generalize builder of SWITCH_EXPR.
	(build_alter_switch): Uses build_dispatch_switch.
	(build_entry_switch): Likewise.
	(build_perform_dispatcher): Likewise.
	(parser_end_program): Wrap build_perform_dispatcher() in if(!hijacked).
	(parser_init_list): Use RETURN_WHEN_HIJACKED; use gg_pointer_to_array()
	instead of gg_get_address_of().
	(psa_FldLiteralN): Set TREE_READONLY(var_decl) = 1.
	(parser_alphabet): use gg_pointer_to_array() instead of
	gg_get_address_of().
	(parser_assign): Formatting.
	(program_end_stuff): Call hijacking() when ENABLE_HIJACKING and the
	program-id is "hijack"; use gg_pointer_to_array().
	(parser_exit): Handle if(hijacked);
	(register_find): New static function to find XML-* COBOL variables.
	(parser_xml_parse): Updated XML PARSE statement handling.
	(initialize_the_data): Use RETURN_WHEN_HIJACKED.
	(establish_using): Change first-time-through processing.
	(parser_division): Change ENTRY statement processing.
	(parser_see_stop_run): Changed RETURN-CODE per-function variable
	processing.
	(parser_label_label): Use RETURN_WHEN_HIJACKED.
	(parser_label_goto): Likewise.
	(parser_perform_inline_times): Honor cbl_field_t offset for the count
	parameter.
	(inspect_tally): Use __gg__inspect_format_1_sbc() for SBC characters.
	(create_and_call): Use per-function RETURN-CODE.
	(parser_entry_activate): Eliminate static tree variables.
	(parser_entry): Use automatic tree variables.
	(parser_program_hierarchy): Use RETURN_WHEN_HIJACKED and
	gg_pointer_to_array().
	(build_temporaryN): New function compiled when ENABLE_HIJACKING.
	(hijack_for_development): Changed to generate minimal GENERIC.
	(actually_create_the_static_field): Use gg_structure_type_constructor
	to create the constructor for the static cblc_field_t VAR_DECL.
	(psa_FldLiteralA): Move where TREE attributes are established.
	(parser_local_add): Use gg_pointer_to_array().
	(parser_symbol_add): Use RETURN_WHEN_HIJACKED(); use gg_pointer_to_array().
	* gengen.cc (gg_append_statement): #if 0 around some debugging code.
	(gg_show_type): Expanded to display "static" and "readonly".
	(gg_find_field_in_struct): Moved and rewritten.
	(gg_get_structure_type_decl): New function.
	(gg_start_building_a_union): Eliminated.
	(gg_start_building_a_struct): Eliminated.
	(gg_add_field_to_structure): Eliminated.
	(gg_structure_type_constructor): New function.
	(gg_get_struct_type_decl): Eliminated.
	(gg_get_union_type_decl): Eliminated.
	(gg_get_local_struct_type_decl): Eliminated.
	(gg_get_filelevel_struct_type_decl): Eliminated.
	(gg_get_filelevel_union_type_decl): Eliminated.
	(gg_define_local_struct): Eliminated.
	(gg_assign_to_structure): Eliminated.
	(gg_define_array): Formatting.
	(gg_pointer_to_array): Returns ADDR_EXPR for &array[0];
	(gg_goto): Comment reflecting why we aren't using it.
	* gengen.h (SHORT_P): Alias for build_pointer_type(short_integer_type_node);
	(struct gg_function_t): Changes mostly in support of SWITCH_EXPR.
	(gg_get_local_struct_type_decl): Eliminated declaration.
	(gg_get_filelevel_struct_type_decl): Likewise.
	(gg_get_filelevel_union_type_decl): Likewise.
	(gg_define_local_struct): Likewise.
	(gg_get_structure_type_decl): New declaration.
	(gg_structure_type_constructor): New declaration.
	(gg_assign_to_structure): Eliminated declaration.
	(gg_define_uchar_star): Changed declaration.
	(gg_pointer_to_array): New declaration.
	* genutil.cc: Removed unused globals; added var_decl_entry_index.
	* genutil.h: Likewise.
	* parse.y: Change program-id and REDEFINES handling.
	* parse_ante.h: Likewise.
	* scan_ante.h (is_refmod): Rewrite.
	* structs.cc (create_cblc_field_t): Use gg_get_structure_type_decl().
	* symbols.cc (return_code_register): Use per-program COBOL registers.
	(symbol_redefines_root): New function.
	(symbols_update): Use per-program COBOL registers.
	(symbol_table_init): Implement per-program registers.
	(symbol_registers_add): Likewise.
	(cbl_field_t::encode): Loosen COBOL level requirement.
	* symbols.h (struct cbl_proc_t): SWITCH_EXPR-based PERFORM returns.
	(symbol_redefines_root): New declaration.
	(symbol_registers_add): New declaration.
	(new_alphanumeric): New comment.
	* util.cc (FOR_JIM): Remove some unused demonstration code.
	(cbl_field_t::encode_numeric): Likewise.

2026-03-02  Robert Dubner  <rdubner@symas.com>

	PR cobol/119456
	* genapi.cc (mh_source_is_literalA): Don't set refmod_e attribute
	unless it is necessary.
	(have_common_parent): Helper routine that determines whether two
	COBOL variables are members of the same data description.
	(mh_alpha_to_alpha): Modified for greater efficiency when table
	subscripts and reference modification parameters are numeric
	literals.
	* genutil.cc (get_data_offset): Recognizes when table subscripts
	and refmod offsets are numeric literals.
	(refer_size): Recognizes when refmod offsets are numeric literals.
	(refer_size_source): Recognizes when table subscripts are numeric
	literals.

2026-02-27  Richard Biener  <rguenther@suse.de>

	PR cobol/123238
	* lexio.cc: Remove <iostream> include.
	(cdftext::process_file): Remove if (false) gated use of
	iostream code.

2026-02-26  Robert Dubner  <rdubner@symas.com>

	* parse.y: BASECONVERT and TRIM take their type from their first
	parameter.
	* parse_util.h (intrinsic_return_field): The function_descrs[] is
	adjusted so that a number of functions take their return type from
	their first calling parameter.  intrinsic_return_field() has been
	refined.
	* symbols.cc (new_alphanumeric):  Use set_explicit() instead of
	set() in support of refined intrinsic function return type.

2026-02-24  Robert Dubner  <rdubner@symas.com>

	* gcobc: Adjust how -fPIC is applied, and other refinements.
	* gcobol.1: Documentation.
	* genapi.cc (parser_statement_end): New function.  Deallocates
	temp char strings from the heap.
	(initialize_variable_internal): Ignore temp char strings.
	(compare_binary_binary): Formatting.
	(parser_end_program): Formatting.
	(parser_init_list): Formatting.
	(parser_exit_program): Formatting.
	(program_end_stuff): Formatting.
	(parser_exit): Formatting.
	(parser_perform_conditional): Formatting.
	(perform_outofline_before_until): Formatting.
	(parser_file_add): Formatting.
	(mh_source_is_literalA): Formatting.
	(psa_new_var_decl): Make cblc_field_t for intermediate_e
	alphanumerics program-static.
	(parser_symbol_add): Eliminate unnecessary code when
	type!=FldConditional; change handling of intermediate_e for
	FldAlphanumerics.
	* genapi.h (parser_end_program): New declaration.
	(parser_exit): Formatting.
	(parser_exit_program): Formatting.
	(parser_statement_end): New declaration.
	* lexio.cc (parse_replace_pairs): Change CDF handling.
	(cdftext::lex_open): Likewise.
	(cdftext::process_file): Likewise.
	* parse.y: Changes to MAXIMUM_ALPHA_LENGTH; refine return value
	types for various intrinsic functions; some CDF handling.
	* parse_ante.h (MAXLENGTH_FORMATTED_DATE): Eliminate constant.
	(MAXLENGTH_FORMATTED_TIME): Likewise.
	(MAXLENGTH_CALENDAR_DATE): Likewise.
	(MAXLENGTH_FORMATTED_DATETIME): Likewise.
	(new_alphanumeric): No longer takes a capacity.
	(intrinsic_return_field): New declaration.
	(struct ffi_args_t): Changed debug message.
	(is_among): New declaration.
	* parse_util.h (intrinsic_return_field): New function. Works with
	the modified function_descrs[] table.
	* scan.l: Modified scanning.
	* scan_ante.h (class input_file_status_t): Likewise.
	(verify_ws):  Likewise.
	(is_refmod): Likewise.
	* symbols.cc (symbols_update): Improved comment about a debug
	message.
	(symbol_temporaries): New function for temporaries on the heap that
	will have to be deallocated.
	(symbol_temporary_alphanumerics): Likewise.
	(new_temporary_impl): Eliminate MAXIMUM_ALPHA_LENGTH from template.
	(new_alphanumeric): Eliminate capacity as a parameter.
	* symbols.h (cbl_dialect_str): Formatting.
	(MAXIMUM_ALPHA_LENGTH): Change comment and value.
	(IBM_MAXIMUM_ALPHA_LENGTH): Put parentheses around "size_t(1)<<31".
	(symbol_temporaries): New declaration.
	(symbol_temporary_alphanumerics): New declaration.
	(struct function_descr_t): New comment on ret_type.
	(new_alphanumeric): New declaration.
	* util.cc (class cdf_directives_t): CDF processing.
	(cobol_set_indicator_column): Likewise.
	(cdf_push_source_format): Likewise.
	(cdf_pop_source_format): Likewise.
	(parent_names): Likewise.
	(cobol_filename): Likewise.
	(cobol_lineno): Likewise.
	(cobol_filename_restore): Likewise.

2026-02-19  Robert Dubner  <rdubner@symas.com>

	* genapi.cc (tree_type_from_field_type): Move static code.
	(compare_binary_binary): Identify little-endian compares.
	(psa_FldLiteralN): Eliminate obsolete development code; make the
	initialized variables TREE_CONSTANT.
	(parser_symbol_add): Adjust for modified FldLiteralN.
	* genmath.cc (all_results_binary): Renamed. Modified for fastness.
	(all_results_integer): Likewise.
	(all_refers_integer): Likewise.
	(largest_binary_term): Likewise.
	(fast_add): Expand conditions.  Use get_binary_value_tree.
	(fast_subtract): Likewise.
	(fast_multiply): Expand conditions.
	(fast_divide): Expand conditions.
	(parser_add): Avoid fast_add when error or not-error are specified.
	(parser_multiply): Likewise.
	(parser_divide): Likewise.
	(parser_subtract): Likewise.
	* genutil.cc (tree_type_from_field): Disable; flagged for removal.
	(get_binary_value): Use get_binary_value_tree.
	(get_binary_value_tree): Avoid intermediate variables when possible.
	(refer_is_clean): Formatting.
	(is_pure_integer): Refine test for little-endian binary.
	* genutil.h (get_binary_value_tree): New declaration.
	(is_pure_integer): New declaration.
	* symbols.cc (symbol_table_init): Explanatory ZEROS comment.

2026-02-13  Robert Dubner  <rdubner@symas.com>

	PR cobol/119455
	* genapi.cc (mh_source_is_group): Formatting.
	(mh_source_is_literalA): Implement accelerated move.
	(mh_alpha_to_alpha): New function; implements accelerated move.
	(move_helper): Calls new mh_alpha_to_alpha.

2026-02-12  Robert Dubner  <rdubner@symas.com>

	* cbldiag.h: Copyright updated to 2026.
	* cdf-copy.cc: Likewise.
	* cdf.y: Likewise.
	* cdfval.h: Likewise.
	* cobol-system.h: Likewise.
	* convert.cc: Likewise.
	* copybook.h: Likewise.
	* except.cc: Likewise.
	* exceptg.h: Likewise.
	* genapi.cc: Likewise.
	* genapi.h: Likewise.
	* gengen.cc: Likewise.
	* gengen.h: Likewise.
	* genmath.cc: Likewise.
	* genmath.h: Likewise.
	* genutil.cc: Likewise.
	* genutil.h: Likewise.
	* inspect.h: Likewise.
	* lang-specs.h: Likewise.
	* lexio.cc: Likewise.
	* lexio.h: Likewise.
	* messages.cc: Likewise.
	* parse.y: Likewise.
	* parse_ante.h: Likewise.
	* parse_util.h: Likewise.
	* scan.l: Likewise.
	* scan_ante.h: Likewise.
	* scan_post.h: Likewise.
	* show_parse.h: Likewise.
	* structs.cc: Likewise.
	* structs.h: Likewise.
	* symbols.cc: Likewise.
	* symbols.h: Likewise.
	* symfind.cc: Likewise.
	* util.cc: Likewise.
	* util.h: Likewise.

2026-02-12  Robert Dubner  <rdubner@symas.com>

	* genapi.cc (establish_using): Use a 128-bit type for
	float-extended; handle numeric-edited values of different sizes
	and signs correctly.
	(create_and_call):  Use a 128-bit type for float-extended.

2026-02-06  Robert Dubner  <rdubner@symas.com>

	PR cobol/119332
	* gcobolspec.cc (lang_specific_driver): Add -dumpspecs,
	-dumpversion, -dumpmachine to the no_files_error=false cases.

2026-02-05  Robert Dubner  <rdubner@symas.com>

	* genapi.cc (DEFAULT_LINE_NUMBER): Remove unused #define.
	(parser_statement_begin): Implement perform_is_armed logic.
	(initialize_variable_internal): Handle both real and int types in
	SHOW_PARSE tracing.
	(section_label): Comment a renumbered insert_nop() for gdb-cobol
	logic.
	(paragraph_label): Likewise.
	(leave_procedure): Eliminate call to gg_insert_into_assembler().
	(parser_enter_section): Renumber insert_nop().
	(parser_perform): Eliminate call to gg_insert_into_assembler().
	(parser_perform_times): Likewise.
	(internal_perform_through): Likewise.
	(internal_perform_through_times): Likewise.
	(parser_leave_file): Create the static _perform_line_pairs table.
	(parser_sleep): Renumber insert_nop().
	(parser_division): Remove calls to initialize_the_data().
	(parser_perform_start): New call to insert_nop().
	(parser_perform_conditional): Likewise.
	(perform_outofline_before_until): Expanded comment.
	(perform_outofline_after_until): Eliminate call to
	gg_insert_into_assembler().
	(perform_outofline_testafter_varying): Likewise.
	(perform_outofline_before_varying): Likewise.
	(perform_inline_testbefore_varying):  New call to insert_nop().
	(create_and_call): Change a comment.
	* gengen.cc (gg_create_goto_pair): Change characteristics of a
	label.
	* parse.y: Change how data are initialized.
	* parse_ante.h (field_type_update): Likewise.
	* symbols.cc (cbl_field_t::set_signable): Likewise.
	(cbl_field_t::encode): Likewise.
	* symbols.h (struct cbl_field_t): Likewise.
	* util.cc (symbol_field_type_update): Likewise.
	(cbl_field_t::encode_numeric): Likewise.

2026-01-20  Jakub Jelinek  <jakub@redhat.com>

	* lang.opt (fexec-national-charset=): Add dot at the end of the
	description.

2026-01-20  Jakub Jelinek  <jakub@redhat.com>

	* lang.opt (Wmove-index): Add missing dot at the end of description.

2026-01-17  Jakub Jelinek  <jakub@redhat.com>

	* lang.opt.urls: Regenerate.

2026-01-17  Robert Dubner  <rdubner@symas.com>
	    James K. Lowden  <jklowden@cobolworx.com>

	* cbldiag.h (struct cbl_loc_t): Diagnostics.
	(enum cbl_diag_id_t): Diagnostics.
	* cdf.y: Includes.
	* cobol1.cc (cobol_warning_suppress): Diagnostics.
	(cobol_langhook_handle_option): Implement -fexec-charset.  Expand
	the use of diagnostics.
	* gcobc: Expand options and warnings.
	* gcobol.1: Documentation.
	* genapi.cc (level_88_helper): Charsets.
	(get_level_88_domain): Charsets.
	(get_class_condition_string): Charsets.
	(function_pointer_from_name): Charsets.
	(initialize_variable_internal):  Charsets.
	(parser_initialize): Charsets.
	(get_binary_value_from_float): Charsets.
	(get_bytes_needed): Charsets.
	(cobol_compare): Charsets.
	(move_tree): Eliminate function.
	(move_tree_to_field): Eliminate function.
	(get_string_from): Eliminate function.
	(parser_init_list): Charsets.
	(psa_FldLiteralN): Charsets.
	(parser_accept_date_yymmdd): Charsets.
	(parser_accept_date_yyyymmdd): Charsets.
	(parser_accept_date_yyddd): Charsets.
	(parser_accept_date_yyyyddd): Charsets.
	(parser_accept_date_dow): Charsets.
	(parser_accept_date_hhmmssff): Charsets.
	(parser_alphabet): Charsets.
	(parser_alphabet_use): Charsets.
	(parser_display_internal): Charsets.
	(get_literalN_value): Charsets.
	(tree_type_from_field_type): Charsets.
	(program_end_stuff): Charsets.
	(walk_initialization): Charsets.
	(parser_xml_parse): Charsets.
	(initialize_the_data): Charsets.
	(establish_using): Charsets.
	(parser_setop): Charsets.
	(parser_set_conditional88): Charsets.
	(parser_file_add): Charsets.
	(get_the_filename): Eliminate function.
	(parser_file_open): Charsets.
	(parser_file_delete_file): Charsets.
	(parser_file_start): Charsets.
	(parser_module_name): Charsets.
	(parser_intrinsic_find_string): New function.
	(parser_intrinsic_numval_c): Charsets.
	(parser_intrinsic_convert): New function.
	(parser_intrinsic_call_1): Charsets.
	(create_and_call): Charsets.
	(mh_identical): Charsets.
	(mh_source_is_literalN): Charsets.
	(float_type_of): Charsets.
	(mh_dest_is_float): Charsets.
	(mh_numeric_display): Charsets.
	(mh_little_endian): Charsets.
	(mh_source_is_group): Charsets.
	(mh_source_is_literalA): Charsets.
	(move_helper): Charsets.
	(binary_initial): Eliminate function.
	(digits_from_int128): Eliminate function.
	(digits_from_float128): Eliminate function.
	(initial_from_initial):  Eliminate function.
	(convert_data_initial): New function.
	(actually_create_the_static_field): Charsets.
	(psa_new_var_decl): Charsets.
	(psa_FldLiteralA): Charsets.
	(parser_local_add): Charsets.
	(parser_symbol_add): Charsets.
	* genapi.h (parser_intrinsic_convert): New function.
	(parser_intrinsic_find_string): New function.
	* genmath.cc (arithmetic_operation): Charsets.
	(largest_binary_term): Charsets.
	(fast_add): Charsets.
	(fast_subtract): Charsets.
	(fast_multiply): Charsets.
	(fast_divide): Charsets.
	(parser_subtract): Fix subtract float from float.
	* genutil.cc (get_any_capacity): Charsets.
	(get_and_check_refstart_and_reflen): Charsets.
	(get_data_offset): Charsets.
	(get_binary_value): Charsets.
	(tree_type_from_field): Charsets.
	(copy_little_endian_into_place): Charsets.
	(get_literal_string): Charsets.
	(refer_is_clean): Charsets.
	(refer_fill_depends): Charsets.
	(refer_size_source): Comment.
	* lang-specs.h: Charsets.
	* lang.opt: Charsets.
	* lexio.cc (parse_copy_directive): Diagnostics.
	* messages.cc (cbl_diagnostic_kind): Diagnostics.
	(cobol_warning_suppress): Diagnostics.
	* parse.y: Many changes for charsets and diagnostics.
	* parse_ante.h (MAXLENGTH_FORMATTED_DATE): Charsets.
	(MAXLENGTH_FORMATTED_TIME): Charsets.
	(MAXLENGTH_CALENDAR_DATE): Charsets.
	(MAXLENGTH_FORMATTED_DATETIME): Charsets.
	(consistent_encoding_check): Charsets.
	(enum data_clause_t): Charsets.
	(new_alphanumeric): Charsets.
	(name_of): Charsets.
	(class eval_subject_t): Charsets.
	(struct domain_t): Charsets.
	(struct file_list_t): Charsets.
	(current_encoding): Charsets.
	(new_tempnumeric): Charsets.
	(is_integer_literal): Charsets.
	(new_literal): Charsets.
	(new_constant): Charsets.
	(conditional_set): Charsets.
	(field_find): Charsets.
	(valid_redefine): Charsets.
	(field_value_all): Charsets.
	(parent_has_picture): Charsets.
	(parent_has_value): Charsets.
	(blank_pad_initial): Charsets.
	(blankit): Charsets.
	(cbl_field_t::blank_initial): Charsets.
	(value_encoding_check): Charsets.
	(cbl_field_t::set_initial): Charsets.
	(field_alloc): Charsets.
	(parser_move_carefully): Charsets.
	(data_division_ready): Charsets.
	(anybody_redefines): Charsets.
	(procedure_division_ready): Charsets.
	(file_section_parent_set): Charsets.
	(field_binary_usage): Charsets.
	(goodnight_gracie): Formatting.
	* scan.l: Charsets.
	* scan_ante.h (numstr_of): Charsets.
	(typed_name): Charsets.
	* show_parse.h: Charsets.
	* structs.cc (create_cblc_file_t): Charsets.
	* symbols.cc (symbol_table_extend): Charsets.
	(WARNING_FIELD): Diagnostics.
	(constq): Charsets.
	(elementize): Charsets.
	(field_size): Charsets.
	(cbl_field_t::set_attr): Eliminate run-time component.
	(cbl_field_t::clear_attr): Eliminate run-time component.
	(field_memsize): Charsets.
	(cbl_encoding_str): Charsets.
	(symbols_dump): Charsets.
	(is_variable_length): Formatting.
	(field_str): Charsets.
	(extend_66_capacity): Charsets.
	(operator<<): Charsets.
	(symbols_update): Charsets.
	(symbol_field_parent_set): Charsets.
	(symbol_table_init): Charsets.
	(numeric_group_attrs): Charsets.
	(symbol_field_add): Charsets.
	(symbol_field_alias): Charsets.
	(fd_record_size_cmp): Charsets.
	(symbol_file_record_sizes): Charsets.
	(cbl_alphabet_t::reencode): Charsets.
	(symbol_temporary_location): Charsets.
	(new_literal_2): Charsets.
	(new_alphanumeric): Charsets.
	(standard_internal): Charsets.
	(cbl_field_t::codeset_t::stride): Charsets.
	(cobol_alpha_encoding): Charsets.
	(cobol_national_encoding): Charsets.
	(new_temporary): Charsets.
	(new_literal_float): Charsets.
	(cbl_field_t::is_ascii): Charsets.
	(cbl_field_t::internalize): Eliminate function.
	(cbl_field_t::source_code_check): Charsets.
	(iconv_cd): Charsets.
	(cbl_field_t::encode): New function for charsets.
	(cbl_field_t::set_capacity): Charsets.
	(cbl_field_t::add_capacity): Charsets.
	(cbl_field_t::char_capacity): Charsets.
	(symbol_label_section_exists): Charsets.
	(size): Charsets.
	(validate_numeric_edited): Charsets.
	* symbols.h (cobol_alpha_encoding): Charsets.
	(cobol_national_encoding): Charsets.
	(consistent_encoding_check): Charsets.
	(class cbl_domain_elem_t): Charsets.
	(struct cbl_domain_t): Charsets.
	(struct cbl_field_data_t): Charsets.
	(class cbl_field_data_t): Charsets.
	(struct cbl_subtable_t): Charsets.
	(struct cbl_field_t): Charsets.
	(new_literal_float): Charsets.
	(new_temporary): Charsets.
	(new_literal_2): Charsets.
	(symbol_temporary_location): Charsets.
	(class temporaries_t): Charsets.
	(struct symbol_elem_t): Charsets.
	(symbol_elem_of): Charsets.
	(symbol_unique_index): Charsets.
	(cbl_field_type_name): Charsets.
	(validate_numeric_edited): Charsets.
	* token_names.h: Charsets.
	* util.cc (cdf_literalize): Charsets.
	(cbl_field_type_name): Charsets.
	(determine_intermediate_type): Charsets.
	(is_alpha_edited): Charsets.
	(cbl_field_data_t::is_alpha_edited): Charsets.
	(symbol_field_type_update): Charsets.
	(redefine_field): Charsets.
	(FIXED_WIDE_INT): Charsets.
	(dirty_to_binary): Charsets.
	(digits_from_int128): Charsets.
	(binary_initial): Charsets.
	(cbl_field_t::encode_numeric): Charsets.
	(FOR_JIM): Temporary conditional demonstration code.
	(parse_error_inc): Diagnostics.
	(parse_error_count): Diagnostics.
	(cbl_field_t::report_invalid_initial_value): Diagnostics.
	(valid_move): Diagnostics.
	(type_capacity): Charsets.
	(symbol_unique_index): New function.
	(cbl_unimplementedw): Formatting.

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

	* lexio.cc (parse_replace_pairs): Fix comment typo, statment
	-> statement.
	(cdftext::free_form_reference_format): Likewise.

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

	* util.cc (class temp_loc_t): Fix comment typo, paramters
	-> parameters.
	* lexio.cc (valid_sequence_area): Fix comment typo, begining
	-> beginning.

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

	* lang.opt: Make sure all option descriptions are terminated with
	a dot.
	(preprocess): Capitalize first letter of option description.

2025-12-01  James K. Lowden  <jklowden@cobolworx.com>

	PR cobol/119329
	PR cobol/119331
	PR cobol/120786
	* Make-lang.in: Add cobol/messages.o to cobol1 sources.
	* cbldiag.h (yywarn): Remove function.
	(struct cbl_loc_t): Introduce new location type independent of Bison.
	(enum cbl_diag_id_t): Enumerate diagnostic messages.
	(cbl_message): New function.
	(dialect_ok): Test for dialect, emit standard message.
	(dialect_not_ok): Emit standard message if syntax excluded by dialect.
	(dialect_error): Remove function.
	(cbl_unimplementedw): Use cbl_diag_id_t.
	(cbl_unimplemented): Whitespace.
	* cdf.y: Update token values.
	* cobol1.cc (enable_exceptions): Use cbl_message.
	(cobol_warning): Declare function.
	(cobol_langhook_handle_option): Add 44 new warning options.
	(cobol_langhook_type_for_mode): Remove function.
	* except.cc (cbl_enabled_exception_t::dump): Remove function.
	* exceptg.h (class exception_turn_t): Use cbl_diag_id_t.
	* gcobol.1: Document dialect syntax and new warning options.
	* genapi.cc (parser_label_label): Remove unused warning.
	* gengen.cc (gg_find_field_in_struct): Use cbl_internal_error.
	(gg_printf): Same.
	(gg_fprintf): Same.
	(gg_define_function): Same.
	(gg_get_function_decl): Same.
	(gg_call_expr): Same.
	(gg_call): Same.
	* lang-specs.h: Add warning options.
	* lang.opt: Add ISO dialect and options.
	* lexio.cc (parse_replacing_term): Use cbl_message.
	(parse_replacing_pair): Same.
	(preprocess_filter_add): Same.
	(cdftext::echo_input): Same.
	(cdftext::lex_open): Same.
	(cdftext::open_input): Same.
	* messages.cc: New file implements cbl_message.
	* parse.y: Use cbl_message.
	* parse_ante.h (dialect_proscribed): Remove function.
	(parser_move_carefully): Use dialect_ok.
	(goodnight_gracie): Convert warning to debug message.
	* scan.l: Use dialect_ok.
	* scan_ante.h (scanner_parsing): Use cbl_diag_id_t.
	(scanner_parsing_toggle): Same.
	(scanner_parsing_pop): Same.
	(verify_ws): Same.
	(level_of): Same.
	(typed_name): Same.
	(integer_of): Same.
	* scan_post.h (datetime_format_of): Use cbl_internal_error.
	(prelex): Emit only debug messages.
	* show_parse.h: Use cbl_internal_error.
	* symbols.cc (symbols_update): Remove dialect test because parser's problem.
	(cbl_field_t::internalize): Use cbl_message.
	* symbols.h (enum cbl_dialect_t): Add ISO to cbl_dialect_t.
	(cbl_dialect_str): Recognize ISO dialect.
	(dialect_has): New function.
	(cbl_diagnostic_kind): New function.
	(cbl_dialect_kind): New function.
	(struct cbl_alphabet_t): Emit only debug message.
	* token_names.h: Regenerate.
	* util.cc (gb4): Emit only debug message.
	(current_token_location): Add overload to set token_location.
	(yywarn): Remove function.
	(cobol_fileline_set): Use cbl_message.
	(cobol_parse_files): Same.
	(cbl_message): New diagnostic message function uses cbl_diag_id_t.
	(cbl_diagnostic_kind): New function.
	(cbl_diagnostic_option): New function.
	(cbl_unimplementedw): Use cbl_diag_id_t.
	(dialect_error): Remove function.
	* util.h (cbl_message): Remove obsolete prototype for cbl_message.

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

	* lang.opt.urls: Regenerate.

2025-11-17  James K. Lowden  <jklowden@cobolworx.com>

	PR cobol/122702
	* Make-lang.in: Move stored-char-length.cbl to libgcobol.

2025-11-17  Jakub Jelinek  <jakub@redhat.com>

	* symbols.cc (symbol_table_init): Avoid arithmetics or
	bitwise operations between enumerators from different enums.

2025-11-15  Jakub Jelinek  <jakub@redhat.com>

	PR cobol/122691
	* lexio.cc (parse_replace_pairs): Replace parsed.stmt.p with
	parsed.stmt.size() ? parsed.stmt.p : "" in the last argument to
	dbgmsg.

2025-11-13  James K. Lowden  <jklowden@cobolworx.com>

	* cdf.y: Install literals in symbol table.
	* genapi.cc (parser_alphabet): Use std::string for currency.
	(initialize_the_data): Rely on constructor.
	(parser_file_add): Better #pragma message.
	(parser_exception_file): Return early if not generating code.
	* parse.y: Allow library programs to act as functions.
	* parse_ante.h (dialect_proscribed): Standardize message.
	(intrinsic_call_2): Correct s/fund/func/ misspelling.
	* scan.l: Comment.
	* symbols.cc (symbols_update): Add unreachable assertion.
	(symbol_field_parent_set): Reduce error to debug message.
	(cdf_literalize): Declare.
	(symbol_table_init): Insert CDF constants as literals.
	* symbols.h (cbl_dialect_str): Provide string values for enum.
	(is_working_storage): Remove function.
	(struct cbl_field_data_t): Add manhandle_initial for Numeric Edited.
	(struct cbl_field_t): Initialize name to zeros.
	(struct cbl_section_t): Delete unused attr() function.
	(symbol_unique_index): Declare.
	* token_names.h: Regenerate.
	* util.cc (cdf_literalize): Construct a cbl_field_t from a CDF literal.
	(symbol_unique_index): Supply "globally" unique number for a program.

2025-11-10  Sandra Loosemore  <sloosemore@baylibre.com>

	PR other/122243
	* lang.opt.urls: Regenerated.

2025-11-06  Robert Dubner  <rdubner@symas.com>
	    James K. Lowden  <jklowden@cobolworx.com>

	* Make-lang.in: Repair documentation generation.
	* cdf.y: Changes to tokens.
	* cobol1.cc (cobol_langhook_handle_option): Add comment.
	* genapi.cc (function_pointer_from_name): Use data.original() for
	function name.
	(parser_initialize_programs): Likewise.
	(cobol_compare): Make sure encodings of comparands are the same.
	(move_tree): Change name of DEFAULT_SOURCE_ENCODING macro.
	(parser_enter_program): Typo.
	(psa_FldLiteralN): Break out dirty_to_binary() support routine.
	(dirty_to_binary): Likewise.
	(parser_alphabet): Rename 'alphabet' to 'collation_sequence'.
	(parser_allocate): Change wsclear() to be uint32_t instead of char.
	(parser_label_label): Formatting.
	(parser_label_goto): Likewise.
	(get_the_filename): Breakout get_the_filename(), which handles
	encoding.
	(parser_file_open): Likewise.
	(set_up_delete_file_label): Implement DELETE FILE (Format 2).
	(parser_file_delete_file): Likewise.
	(parser_file_delete_on_exception): Likewise.
	(parser_file_delete_not_exception): Likewise.
	(parser_file_delete_end): Likewise.
	(parser_call): Use data.original().
	(parser_entry): Use data.original().
	(mh_source_is_literalN): Convert from
	sourceref.field->codeset.encoding.
	(binary_initial_from_float128): Change to "binary_initial".
	(binary_initial): Calculate in FIXED_WIDE_INT(128) instead of
	REAL_VALUE_TYPE.
	(digits_from_int128): New routine uses binary_initial.
	(digits_from_float128): Removed.  Kept as comment for reference.
	(initial_from_initial): Use binary_initial.
	(actually_create_the_static_field): Use correct encoding.
	(parser_symbol_add): Likewise.
	* genapi.h (parser_file_delete_file): Implement FILE DELETE.
	(parser_file_delete_on_exception): Implement FILE DELETE.
	(parser_file_delete_not_exception): Implement FILE DELETE.
	(parser_file_delete_end): Implement FILE DELETE.
	* genmath.cc: Include charmaps.h.
	* genutil.cc (get_literal_string):  Change name of
	DEFAULT_SOURCE_ENCODING macro.
	* parse.y: Token changes; numerous changes in support of encoding;
	support for DELETE FILE.
	* parse_ante.h (name_of): Use data.original().
	(class prog_descr_t): Support of locales.
	(current_options): Formatting.
	(current_encoding):  Formatting.
	(current_program_index): Formatting.
	(current_section): Formatting.
	(current_paragraph): Formatting.
	(is_integer_literal): Use correct encoding.
	(value_encoding_check): Handle encoding changes.
	(alphabet_add): Likewise.
	(data_division_ready): Likewise.
	* scan.l: Use data.original().
	* show_parse.h: Use correct encoding.
	* symbols.cc (elementize): Likewise.
	(symbol_elem_cmp): Handle locale.
	(struct symbol_elem_t): Likewise.
	(symbol_locale): Likewise.
	(field_str): Change DEFAULT_SOURCE_ENCODING macro name.
	(symbols_alphabet_set): Formatting.
	(symbols_update): Modify consistency checks.
	(symbol_locale_add): Locale support.
	(cbl_locale_t::cbl_locale_t): Locale support.
	(cbl_alphabet_t::cbl_alphabet_t): New structure.
	(cbl_alphabet_t::reencode): Formatting.
	(cbl_alphabet_t::assign): Change name of collation_sequence.
	(cbl_alphabet_t::also): Likewise.
	(new_literal_add): Anticipate the need for four-byte characters.
	(guess_encoding): Eliminate.
	(cbl_field_t::internalize): Refine conversion of data.initial to
	specified encoding.
	* symbols.h (enum symbol_type_t): Add SymLocale.
	(struct cbl_field_data_t): Incorporate data.orig.
	(struct cbl_field_t): Likewise.
	(struct cbl_delete_file_t): New structure.
	(struct cbl_label_t): Incorporate cbl_delete_file_t.
	(struct cbl_locale_t): Support for locale.
	(hex_decode): Comment.
	(struct cbl_alphabet_t): Incorporate locale; change variable name
	to collation_sequence.
	(struct symbol_elem_t): Incorporate locale.
	(cbl_locale_of): Likewise.
	(cbl_alphabet_of): Likewise.
	(symbol_locale_add): Likewise.
	(wsclear): Type is now uint32_t instead of char.
	* util.cc (symbol_type_str):  Incorporate locale.
	(cbl_field_t::report_invalid_initial_value): Change test so that
	pure PIC A() variables are limited to [a-zA-Z] and space.
	(valid_move): Use DEFAULT_SOURCE_ENCODING macro.
	(cobol_filename): Formatting.

2025-10-26  Eric Botcazou  <ebotcazou@adacore.com>

	* Make-lang.in ($(srcdir)/cobol/token_names.h): Silence recipe.

2025-10-23  Robert Dubner  <rdubner@symas.com>

	* genapi.cc (parser_alphabet): Alphabet encoding.
	(parser_alphabet_use): Likewise.
	(parser_xml_parse): Use correct debugging macro; encoding.
	(parser_xml_on_exception): Likewise.
	(parser_xml_not_exception): Likewise.
	(parser_xml_end): Likewise.
	(initialize_the_data): Encoding.
	(parser_label_label): Debugging macros.
	(parser_label_goto): Likewise.
	(parser_file_add): Encoding.
	(parser_intrinsic_call_1): Special handling for __gg__char.
	(parser_intrinsic_call_2): Formatting.
	* parse.y: Response from FUNCTION ORD is flagged "unsigned".
	* symbols.cc (cbl_alphabet_t::reencode): Establish
	low_char & high_char.
	* symbols.h (struct cbl_alphabet_t): Likewise.

2025-10-23  Robert Dubner  <rdubner@symas.com>
	    James K. Lowden  <jklowden@cobolworx.com>

	* Make-lang.in: Incorporate new token_names.h file.
	* cdf.y: Modify tokens.
	* gcobol.1: Document XML PARSE statement
	* genapi.cc (parser_enter_program): Verify that every goto has a
	matching label.
	(parser_end_program): Likewise.
	(parser_alphabet): Refine handling codeset encodings.
	(parser_alphabet_use): Likewise.
	(label_fetch): Moved from later in the source code.
	(parser_xml_parse): New routine for XML PARSE.
	(parser_xml_on_exception): Likewise.
	(parser_xml_not_exception): Likewise.
	(parser_xml_end): Likewise.
	(parser_label_label): Verify goto/label matching.
	(parser_label_goto): Likewise.
	(parser_entry): Minor change to SHOW_PARSE report.
	* genapi.h (parser_alphabet): Set parameter to const.
	(parser_xml_parse): Declare new function.
	(parser_xml_on_exception): Likewise.
	(parser_xml_not_exception): Likewise.
	(parser_xml_end): Likewise.
	(parser_label_addr): Likewise.
	* parse.y: label_pair_t structure; locale processing; new token
	processing for alphabets and XML PARSE.
	* parse_ante.h (name_of): Return field->name when initial is NULL.
	(new_tempnumeric): Make signable_e optional.
	(ast_save_locale): New function.
	(data_division_ready): Warning for "no alphabet".
	* scan.l: Repair interpretation of BINARY, COMP, COMP-4, and
	COMP-5.
	* scan_ante.h (struct bint_t): Likewise.
	* scan_post.h (current_tokens_t::tokenset_t::tokenset_t):
	Include token_names.h.
	* symbols.cc (symbols_alphabet_set): Revert to prior alphabet
	determination.
	(symbol_table_init): New XML special registers.
	(new_temporary): Make signable_e controllable, not fixed.
	* symbols.h (__gg__encoding_iconv_valid): New declaration.
	(enum cbl_label_type_t): New LblXml label type.
	(struct cbl_xml_parse_t):
	(struct cbl_label_t): Implement XML PARSE.
	(new_temporary): Incorporate boolean for signable_e.
	(symbol_elem_of): Change label field type handling.
	(cbl_section_of): Likewise.
	(cbl_field_of): Likewise.
	(cbl_label_of): Likewise.
	(cbl_special_name_of):  Likewise.
	(cbl_alphabet_of):  Likewise.
	(cbl_file_of):  Likewise.
	* token_names.h: New file.
	* util.cc (gcc_location_set_impl): Improve location_t calculations
	when entering and leaving COPYBOOKs.

2025-10-19  Robert Dubner  <rdubner@symas.com>

	* genapi.cc (move_tree): Formatting.
	(parser_enter_file): Incorporate global __gg__entry_label.
	(enter_program_common): Remove calls to alphabet overrides.
	(parser_alphabet): Change cbl_alphabet_e handling.
	(parser_alphabet_use): Likewise.
	(initialize_the_data): Likewise.
	(establish_using): Process passed parameters in a subroutine.
	(parser_division): Remove in-line parameter processing;
	call establish_using() instead. Check for __gg__entry_label.
	(parser_file_add): Temporary workaround for charset encoding.
	(parser_file_open): Likewise.
	(create_and_call): Push/pop program state around call to external.
	(parser_entry): Implement new ENTRY statement feature.
	(mh_source_is_literalN): Formatting.
	* genapi.h (parser_entry): New ENTRY statement.
	* gengen.cc (gg_create_goto_pair): Formatting.
	(gg_goto_label_decl): Remove.
	* gengen.h (gg_goto_label_decl): Remove.
	* genutil.cc (internal_codeset_is_ebcdic): Remove.
	* genutil.h (internal_codeset_is_ebcdic): Remove.
	* symbols.cc (symbols_alphabet_set): Restrict alphabet scan to
	program.
	* symbols.h (is_elementary): Use defined constants instead of
	explicit 'A'and 'N'

2025-10-10  Robert Dubner  <rdubner@symas.com>

	* cdf.y: In support of the described changes.
	* gcobol.1: Likewise.
	* genapi.cc (level_88_helper): Likewise.
	(get_level_88_domain): Likewise.
	(get_class_condition_string): Likewise.
	(initialize_variable_internal): Likewise.
	(gg_default_qualification): Likewise.
	(cobol_compare): Likewise.
	(move_tree): Likewise.
	(move_tree_to_field): Likewise.
	(psa_FldBlob): Likewise.
	(parser_accept_date_yymmdd): Likewise.
	(parser_accept_date_yyyymmdd): Likewise.
	(parser_accept_date_yyddd): Likewise.
	(parser_accept_date_yyyyddd): Likewise.
	(parser_accept_date_dow): Likewise.
	(parser_accept_date_hhmmssff): Likewise.
	(parser_alphabet): Likewise.
	(parser_alphabet_use): Likewise.
	(parser_display_internal): Likewise.
	(parser_display): Likewise.
	(is_valuable): Likewise.
	(parser_division): Likewise.
	(parser_relop_long): Likewise.
	(parser_setop): Likewise.
	(parser_set_conditional88): Likewise.
	(parser_file_add): Likewise.
	(parser_file_open): Likewise.
	(create_and_call): Likewise.
	(parser_call): Likewise.
	(mh_identical): Likewise.
	(mh_source_is_literalN): Likewise.
	(picky_memcpy): Likewise.
	(mh_numeric_display): Likewise.
	(mh_source_is_group): Likewise.
	(mh_source_is_literalA): Likewise.
	(move_helper): Likewise.
	(initial_from_initial): Likewise.
	(actually_create_the_static_field): Likewise.
	(psa_FldLiteralA): Likewise.
	(parser_symbol_add): Likewise.
	* genmath.cc (arithmetic_operation): Likewise.
	* genutil.cc (get_binary_value): Likewise.
	(get_literal_string): Likewise.
	* genutil.h (EBCDIC_MINUS): Likewise.
	(EBCDIC_PLUS): Likewise.
	(EBCDIC_ZERO): Likewise.
	(EBCDIC_NINE): Likewise.
	* parse.y: Likewise.
	* parse_ante.h (name_of): Likewise.
	(class prog_descr_t): Likewise.
	(current_encoding): Likewise.
	(needs_picture): Likewise.
	(is_callable): Likewise.
	(field_attr_str): Likewise.
	(value_encoding_check): Likewise.
	(field_alloc): Likewise.
	(file_add): Likewise.
	* scan.l: Likewise.
	* structs.cc (create_cblc_field_t): Likewise.
	* symbols.cc (elementize): Likewise.
	(cbl_field_attr_str): Likewise.
	(is_variable_length): Likewise.
	(field_str): Likewise.
	(extend_66_capacity): Likewise.
	(assert): Likewise.
	(symbols_update): Likewise.
	(symbol_field_parent_set): Likewise.
	(add_token): Likewise.
	(symbol_table_init): Likewise.
	(symbol_field_add): Likewise.
	(symbol_field_forward_add): Likewise.
