2025-08-08  Release Manager

	* GCC 15.2.0 released.

2025-07-29  Robert Dubner  <rdubner@symas.com>

	Backported from master:
	2025-07-24  Robert Dubner  <rdubner@symas.com>

	PR cobol/119231
	* gcobolspec.cc: (lang_specific_driver): Pass OPT_static through.
	Handle -static and -static-libgcobol properly.

2025-07-29  Robert Dubner  <rdubner@symas.com>

	Backported from master:
	2025-07-23  Robert Dubner  <rdubner@symas.com>

	* genapi.cc (leave_procedure): Adjust location_t for PERFORM.
	(parser_perform_times): Likewise.
	(internal_perform_through_times): Likewise.
	(perform_outofline_before_until): Likewise.
	(perform_outofline_after_until): Likewise.
	(perform_outofline_testafter_varying): Likewise.
	(perform_outofline_before_varying): Likewise.

2025-07-29  Robert Dubner  <rdubner@symas.com>

	Backported from master:
	2025-07-21  Robert Dubner  <rdubner@symas.com>
		    James K. Lowden  <jklowden@cobolworx.com>

	PR cobol/120402
	* Make-lang.in: Elminate commented-out scripting.
	* cbldiag.h (_CBLDIAG_H): Change #if 0 to #if GCOBOL_GETENV
	(warn_msg): Add printf attributes.
	(location_dump): Add debugging message.
	* cdf.y: Improved linemap tracking.
	* genapi.cc (treeplet_fill_source): const attribute for formal parameter.
	(insert_nop): Created to consolidate var_decl_nop writes.
	(build_main_that_calls_something): Move generation to the end of executable.
	(level_88_helper): Formatting.
	(parser_call_targets_dump): Formatting.
	(function_pointer_from_name): const attribute for formal parameter.
	(parser_initialize_programs): const attribute for formal parameter.
	(parser_statement_begin): Improved linemap handling.
	(section_label):  Improved linemap handling.
	(paragraph_label): Improved linemap handling.
	(pseudo_return_pop): Improved linemap handling.
	(leave_procedure): Formatting.
	(parser_enter_section):  Improved linemap handling.
	(parser_enter_paragraph): Improved linemap handling.
	(parser_perform): Formatting.
	(parser_leave_file): Move creation of main() to this routine.
	(parser_enter_program): Move creation of main from here to leave_file.
	(parser_accept): Formatting. const attribute for formal parameter.
	(parser_accept_command_line): const attribute for formal parameter.
	(parser_accept_command_line_count): const attribute for formal parameter.
	(parser_accept_envar): Likewise.
	(parser_set_envar): Likewise.
	(parser_display): Likewise.
	(get_exhibit_name): Implement EXHIBIT verb.
	(parser_exhibit): Likewise.
	(parser_sleep): const attribute for formal parameter.
	(parser_division): Improved linemap handling.
	(parser_classify): const attribute for formal parameter.
	(create_iline_address_pairs): Improved linemap handling.
	(parser_perform_start): Likewise.
	(perform_inline_until): Likewise.
	(perform_inline_testbefore_varying): Likewise.
	(parser_perform_until): Likewise.
	(parser_perform_inline_times): Likewise.
	(parser_intrinsic_subst): const attribute for formal parameter.
	(parser_file_merge): Formatting.
	(create_and_call): Improved linemap handling.
	(mh_identical): const attribute for formal parameter.
	(mh_numeric_display): const attribute for formal parameter.
	(mh_little_endian): Likewise.
	(mh_source_is_group): Likewise.
	(psa_FldLiteralA): Formatting.
	* genapi.h (parser_accept): const attribute for formal parameter.
	(parser_accept_envar): Likewise.
	(parser_set_envar): Likewise.
	(parser_accept_command_line): Likewise.
	(parser_accept_command_line_count): Likewise.
	(parser_add): Likewise.
	(parser_classify): Likewise.
	(parser_sleep): Likewise.
	(parser_exhibit): Likewise.
	(parser_display): Likewise.
	(parser_initialize_programs): Likewise.
	(parser_intrinsic_subst): Likewise.
	* gengen.cc (gg_assign): Improved linemap handling.
	(gg_add_field_to_structure): Likewise.
	(gg_define_from_declaration): Likewise.
	(gg_build_relational_expression): Likewise.
	(gg_goto_label_decl): Likewise.
	(gg_goto): Likewise.
	(gg_printf): Likewise.
	(gg_fprintf): Likewise.
	(gg_memset): Likewise.
	(gg_memchr): Likewise.
	(gg_memcpy): Likewise.
	(gg_memmove): Likewise.
	(gg_strcpy): Likewise.
	(gg_strcmp): Likewise.
	(gg_strncmp): Likewise.
	(gg_return): Likewise.
	(chain_parameter_to_function): Likewise.
	(gg_define_function): Likewise.
	(gg_get_function_decl): Likewise.
	(gg_call_expr): Likewise.
	(gg_call): Likewise.
	(gg_call_expr_list): Likewise.
	(gg_exit): Likewise.
	(gg_abort): Likewise.
	(gg_strlen): Likewise.
	(gg_strdup): Likewise.
	(gg_malloc): Likewise.
	(gg_realloc): Likewise.
	(gg_free): Likewise.
	(gg_set_current_line_number): Likewise.
	(gg_get_current_line_number): Likewise.
	(gg_insert_into_assembler): Likewise.
	(token_location_override): Likewise.
	(gg_token_location): Likewise.
	* gengen.h (location_from_lineno): Likewise.
	(gg_set_current_line_number): Likewise.
	(gg_get_current_line_number): Likewise.
	(gg_token_location): Likewise.
	(current_token_location): Likewise.
	(current_location_minus_one): Likewise.
	(current_location_minus_one_clear): Likewise.
	(token_location_override): Likewise.
	* genmath.cc (fast_divide):  const attribute for formal parameter.
	* genutil.cc (get_and_check_refstart_and_reflen): Likewise.
	(get_data_offset): Likewise.
	(refer_refmod_length): Likewise.
	(refer_offset): Likewise.
	(refer_size): Likewise.
	(refer_size_dest): Likewise.
	(refer_size_source): Likewise.
	(qualified_data_location): Likewise.
	* genutil.h (refer_offset): Likewise.
	(refer_size_source): Likewise.
	(refer_size_dest): Likewise.
	(qualified_data_location): Likewise.
	* parse.y: EVALUATE token; Implement EXHIBIT verb;
	Improved linemap handling.
	* parse_ante.h (input_file_status_notify): Improved linemap handling.
	(location_set): Likewise.
	* scan.l: PICTURE string validation.
	* scan_ante.h (class picture_t): PICTURE string validation.
	(validate_picture): Likewise.
	* symbols.cc (symbol_currency): Revised default currency handling.
	* symbols.h (symbol_currency): Likewise.
	* util.cc (location_from_lineno): Improved linemap handling.
	(current_token_location): Improved linemap handling.
	(current_location_minus_one): Improved linemap handling.
	(current_location_minus_one_clear): Improved linemap handling.
	(gcc_location_set_impl): Improved linemap handling.
	(warn_msg): Improved linemap handling.
	* util.h (cobol_lineno): Improved linemap handling.

2025-07-29  Robert Dubner  <rdubner@symas.com>

	Backported from master:
	2025-07-14  Robert Dubner  <rdubner@symas.com>

	* cobol1.cc (cobol_langhook_handle_option): Eliminate cppcheck warnings.
	* dts.h: Likewise.
	* except.cc (cbl_enabled_exceptions_t::dump): Likewise.
	* gcobolspec.cc (lang_specific_driver): Likewise.
	* genapi.cc (parser_file_merge): Likewise.
	* gengen.cc (gg_unique_in_function): Likewise.
	(gg_declare_variable): Likewise.
	(gg_peek_fn_decl): Likewise.
	(gg_define_function): Likewise.
	* genmath.cc (set_up_on_exception_label): Likewise.
	(set_up_compute_error_label): Likewise.
	(arithmetic_operation): Likewise.
	(fast_divide): Likewise.
	* genutil.cc (get_and_check_refstart_and_reflen): Likewise.
	(get_depending_on_value_from_odo): Likewise.
	(get_data_offset): Likewise.
	(get_binary_value): Likewise.
	(process_this_exception): Likewise.
	(copy_little_endian_into_place): Likewise.
	(refer_is_clean): Likewise.
	(refer_fill_depends): Likewise.
	* genutil.h (process_this_exception): Likewise.
	(copy_little_endian_into_place): Likewise.
	(refer_is_clean): Likewise.
	* lexio.cc (check_push_pop_directive): Likewise.
	(check_source_format_directive): Likewise.
	(location_in): Likewise.
	(lexer_input): Likewise.
	(cdftext::lex_open): Likewise.
	(lexio_dialect_mf): Likewise.
	(valid_sequence_area): Likewise.
	(cdftext::free_form_reference_format): Likewise.
	(cdftext::segment_line): Likewise.
	* lexio.h (struct span_t): Likewise.
	* scan_ante.h (trim_location): Likewise.
	* symbols.cc (symbol_elem_cmp): Likewise.
	(symbol_alphabet): Likewise.
	(end_of_group): Likewise.
	(cbl_field_t::attr_str): Likewise.
	(symbols_update): Likewise.
	(symbol_typedef_add): Likewise.
	(symbol_field_add): Likewise.
	(new_temporary_impl): Likewise.
	(symbol_label_section_exists): Likewise.
	(symbol_program_callables): Likewise.
	(file_status_status_of): Likewise.
	* symfind.cc (is_data_field): Likewise.
	(finalize_symbol_map2): Likewise.
	(class in_scope): Likewise.
	(symbol_match2): Likewise.
	* util.cc (get_current_dir_name): Likewise.
	(gb4): Likewise.
	(class cdf_directives_t): Likewise.
	(cbl_field_t::report_invalid_initial_value): Likewise.
	(literal_subscript_oob): Likewise.
	(cbl_refer_t::str): Likewise.
	(date_time_fmt): Likewise.
	(class unique_stack): Likewise.
	(cobol_set_pp_option): Likewise.
	(cobol_filename): Likewise.
	(cobol_filename_restore): Likewise.
	(gcc_location_set_impl): Likewise.
	(ydferror): Likewise.
	(error_msg_direct): Likewise.
	(yyerror): Likewise.
	(cbl_unimplemented_at): Likewise.

2025-07-29  Robert Dubner  <rdubner@symas.com>

	Backported from master:
	2025-07-13  Robert Dubner  <rdubner@symas.com>

	* Make-lang.in: Eliminate the .cc.o override.
	* genapi.cc (level_88_helper): Eliminate cppcheck warning.
	(get_level_88_domain): Likewise.
	(get_class_condition_string): Likewise.
	(parser_call_targets_dump): Likewise.
	(parser_compile_ecs): Likewise.
	(initialize_variable_internal): Likewise.
	(move_tree): Likewise.
	(combined_name): Likewise.
	(assembler_label): Likewise.
	(find_procedure): Likewise.
	(parser_perform): Likewise.
	(parser_perform_times): Likewise.
	(internal_perform_through): Likewise.
	(internal_perform_through_times): Likewise.
	(psa_FldLiteralN): Likewise.
	(psa_FldBlob): Likewise.
	(parser_accept): Likewise.
	(parser_accept_exception): Likewise.
	(parser_accept_exception_end): Likewise.
	(parser_accept_command_line): Likewise.
	(parser_accept_envar): Likewise.
	(parser_display_internal): Likewise.
	(parser_display): Likewise.
	(parser_assign): Likewise.
	(parser_initialize_table): Likewise.
	(parser_arith_error): Likewise.
	(parser_arith_error_end): Likewise.
	(parser_division): Likewise.
	(label_fetch): Likewise.
	(parser_label_label): Likewise.
	(parser_label_goto): Likewise.
	(parser_perform_start): Likewise.
	(parser_perform_conditional): Likewise.
	(parser_perform_conditional_end): Likewise.
	(parser_perform_until): Likewise.
	(parser_file_delete): Likewise.
	(parser_intrinsic_subst): Likewise.
	(create_lsearch_address_pairs): Likewise.
	(parser_bsearch_start): Likewise.
	(is_ascending_key): Likewise.
	(parser_sort): Likewise.
	(parser_file_sort): Likewise.
	(parser_return_start): Likewise.
	(parser_file_merge): Likewise.
	(parser_string_overflow): Likewise.
	(parser_unstring): Likewise.
	(parser_string): Likewise.
	(parser_call_exception): Likewise.
	(create_and_call): Likewise.
	(mh_identical): Likewise.
	(move_helper): Likewise.
	(binary_initial_from_float128): Likewise.
	(initial_from_initial): Likewise.
	(psa_FldLiteralA): Likewise.
	(parser_local_add): Likewise.
	(parser_symbol_add): Likewise.
	* genapi.h (parser_display): Likewise.
	* gengen.cc (gg_call_expr): Explict check for NULL_TREE.
	(gg_call): Likewise.
	* show_parse.h (SHOW_PARSE_LABEL_OK): Likewise.
	(TRACE1_FIELD_VALUE): Likewise.
	(CHECK_FIELD): Likewise.
	(CHECK_FIELD2): Likewise.
	(CHECK_LABEL): Likewise.
	* util.cc (cbl_internal_error): Apply [[noreturn]] attribute.
	* util.h (cbl_internal_error): Likewise.

2025-07-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	Backported from master:
	2025-07-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR cobol/120621
	* lexio.cc (parse_replace_pairs): Cast mfile.lineno() to fmt_size_t.
	* parse.y (intrinsic): Print ptrdiff_t using %ld, cast arg to long.
	* scan_ante.h (numstr_of): Print nx using %ld, cast arg to long.
	* util.cc (cbl_field_t::report_invalid_initial_value): Print
	ptrdiff_t using %ld, cast arg to long.

2025-07-29  James K. Lowden  <jklowden@cobolworx.com>

	Backported from master:
	2025-07-10  James K. Lowden  <jklowden@cobolworx.com>

	PR cobol/120765
	* cdf.y: Extend grammar for new CDF syntax, relocate dictionary.
	* cdfval.h (cdf_dictionary): Use new CDF dictionary.
	* dts.h: Remove useless assignment, note incorrect behavior.
	* except.cc: Remove obsolete EC state.
	* gcobol.1: Document CDF in its own section.
	* genapi.cc (parser_statement_begin): Use new EC state function.
	(parser_file_merge): Same.
	(parser_check_fatal_exception): Same.
	* genutil.cc (get_and_check_refstart_and_reflen): Same.
	(get_depending_on_value_from_odo): Same.
	(get_data_offset): Same.
	(process_this_exception): Same.
	* lexio.cc (check_push_pop_directive): New function.
	(check_source_format_directive): Restrict regex search to 1 line.
	(cdftext::free_form_reference_format): Use new function.
	* parse.y: Define new CDF tokens, use new CDF state.
	* parse_ante.h (cdf_tokens): Use new CDF state.
	(redefined_token): Same.
	(class prog_descr_t): Remove obsolete CDF state.
	(class program_stack_t): Same.
	(current_call_convention): Same.
	* scan.l: Recognize new CDF tokens.
	* scan_post.h (is_cdf_token): Same.
	* symbols.h (cdf_current_tokens): Change current_call_convention to return void.
	* token_names.h: Regenerate.
	* udf/stored-char-length.cbl: Use new PUSH/POP CDF functionality.
	* util.cc (class cdf_directives_t): Define cdf_directives_t.
	(current_call_convention): Same.
	(cdf_current_tokens): Same.
	(cdf_dictionary): Same.
	(cdf_enabled_exceptions): Same.
	(cdf_push): Same.
	(cdf_push_call_convention): Same.
	(cdf_push_current_tokens): Same.
	(cdf_push_dictionary): Same.
	(cdf_push_enabled_exceptions): Same.
	(cdf_push_source_format): Same.
	(cdf_pop): Same.
	(cdf_pop_call_convention): Same.
	(cdf_pop_current_tokens): Same.
	(cdf_pop_dictionary): Same.
	(cdf_pop_enabled_exceptions): Same.
	(cdf_pop_source_format): Same.
	* util.h (cdf_push): Declare cdf_directives_t.
	(cdf_push_call_convention): Same.
	(cdf_push_current_tokens): Same.
	(cdf_push_dictionary): Same.
	(cdf_push_enabled_exceptions): Same.
	(cdf_push_source_format): Same.
	(cdf_pop): Same.
	(cdf_pop_call_convention): Same.
	(cdf_pop_current_tokens): Same.
	(cdf_pop_dictionary): Same.
	(cdf_pop_source_format): Same.
	(cdf_pop_enabled_exceptions): Same.

2025-07-29  Robert Dubner  <rdubner@symas.com>

	Backported from master:
	2025-07-09  Robert Dubner  <rdubner@symas.com>
		    James K. Lowden  <jklowden@cobolworx.com>

	PR cobol/120765
	PR cobol/119337
	PR cobol/120794
	* Make-lang.in: Take control of the .cc.o rule.
	* cbldiag.h (error_msg_direct): New declaration.
	(gcc_location_dump): Forward declaration.
	(location_dump): Use gcc_location_dump.
	* cdf.y: Change some tokens.
	* gcobc: Change dialect handling.
	* genapi.cc (parser_call_targets_dump): Temporarily remove from service.
	(parser_compile_dcls): Combine temporary arrays.
	(get_binary_value_from_float): Apply const to one parameter.
	(depending_on_value): Localize a boolean variable.
	(normal_normal_compare): Likewise.
	(cobol_compare): Eliminate cppcheck warning.
	(combined_name): Apply const to an input parameter.
	(parser_perform): Apply const to a variable.
	(parser_accept): Improve handling of special_name_t parameter and
	the exception conditions.
	(parser_display): Improve handling of speciat_name_t parameter; use the
	os_filename[] string when appropriate.
	(program_end_stuff): Rename shadowing variable.
	(parser_division): Consolidate temporary char[] arrays.
	(parser_file_start): Apply const to a parameter.
	(inspect_replacing): Likewise.
	(parser_program_hierarchy): Rename shadowing variable.
	(mh_identical): Apply const to parameters.
	(float_type_of): Likewise.
	(picky_memcpy): Likewise.
	(mh_numeric_display): Likewise.
	(mh_little_endian): Likewise.
	(mh_source_is_group): Apply static to a variable it.
	(move_helper): Quiet a cppcheck warning.
	* genapi.h (parser_accept): Add exceptions to declaration.
	(parser_accept_under_discussion): Add declaration.
	(parser_display): Change to std::vector; add exceptions to declaration.
	* lexio.cc (cdf_source_format): Improve source code location handling.
	(source_format_t::infer): Likewise.
	(is_fixed_format): Likewise.
	(is_reference_format): Likewise.
	(left_margin): Likewise.
	(right_margin): Likewise.
	(cobol_set_indicator_column): Likewise.
	(include_debug): Likewise.
	(continues_at): Likewise.
	(indicated): Likewise.
	(check_source_format_directive): Likewise.
	(cdftext::free_form_reference_format): Likewise.
	* parse.y: Tokens; program and function names; DISPLAY and ACCEPT
	handling.
	* parse_ante.h (class tokenset_t): Removed.
	(class current_tokens_t): Removed.
	(field_of): Removed.
	* scan.l: Token handling.
	* scan_ante.h (level_found): Comment.
	* scan_post.h (start_condition_str): Remove cast author_state:.
	* symbols.cc (symbols_update): Change error message.
	(symbol_table_init): Correct and reorder entries.
	(symbol_unresolved_file_key): New function definition.
	(cbl_file_key_t::deforward): Change error message.
	* symbols.h (symbol_unresolved_file_key): New declaration.
	(keyword_tok): New function.
	(redefined_token): New function.
	(class current_tokens_t): New class.
	* symfind.cc (symbol_match): Revise error message.
	* token_names.h: Reorder and change numbers in comments.
	* util.cc (class cdf_directives_t): New class.
	(cobol_set_indicator_column): New function.
	(cdf_source_format): New function.
	(gcc_location_set_impl): Improve column handling in token_location.
	(gcc_location_dump): New function.
	(class temp_loc_t): Modify constructor.
	(error_msg_direct): New function.
	* util.h (class source_format_t): New class.

2025-07-29  James K. Lowden  <jklowden@cobolworx.com>

	Backported from master:
	2025-07-01  James K. Lowden  <jklowden@cobolworx.com>

	* Make-lang.in: Use && instead of semicolon between commands.

2025-07-29  Robert Dubner  <rdubner@symas.com>

	Backported from master:
	2025-07-01  Robert Dubner  <rdubner@symas.com>

	* parse.y: printf() of size_t is %zu, not %ld.

2025-07-29  James K. Lowden  <jklowden@cobolworx.com>

	Backported from master:
	2025-06-30  James K. Lowden  <jklowden@cobolworx.com>

	PR cobol/120772
	PR cobol/120779
	PR cobol/120790
	PR cobol/120791
	PR cobol/120794
	* gcobc: Supply -fPIC for shared objects.
	* genapi.cc (linemap_add): Delete empty macro.
	(parser_enter_file): Do not call linemap_add.
	(parser_leave_file): Same.
	* gengen.cc (location_from_lineno): Remove function.
	* lexio.cc (parse_replacing_term): Allow empty term.
	(cdftext::process_file): Always append to output.
	(cdftext::segment_line): Output #line directives.
	* lexio.h (struct span_t): Count lines in span.
	* parse.y: Revamp REPOSITORY, and minor syntax extensions.
	* parse_ante.h (input_file_status_notify): Update linemap filename before location.
	(intrinsic_token_of): Declare.
	(parser_move_carefully): Support MOVE pointer.
	* parse_util.h (intrinsic_token_of): New function.
	* scan.l: New EOF logic, accept NOT=, own yylloc and yylineno.
	* scan_ante.h (class enter_leave_t): Do not store newline count.
	(cdf_location_set): Remove declaration.
	(ydfltype_of): New function.
	(update_location): Accept location parameter.
	(reset_location): New function.
	(YY_USER_ACTION): Use update_location().
	(YY_USER_INIT): Update CDF location.
	(verify_ws): New function.
	(wait_for_the_child): Removed.
	* symbols.h (cobol_fileline_set): return line number.
	* util.cc (valid_move): Use range-based for loop.
	(struct input_file_t): Remove line_map pointer.
	(class unique_stack): New peek() member function.
	(cobol_lineno_save): Rename to overload cobol_lineno().
	(cobol_lineno): Replaces cobol_lineno_save().
	(cobol_filename): Return void.
	(location_from_lineno): New function used by genapi.cc.
	(cdf_location_set): Remove.
	(matched_length): No change.
	(cobol_fileline_set): Return line number.
	(fisspace): Remove extra semicolon.
	(fisprint): Same.
	* util.h (cobol_filename_restore): Return void.
	(cobol_lineno_save): Remove declaration.
	(cobol_lineno): Declare.

2025-07-29  Robert Dubner  <rdubner@symas.com>

	Backported from master:
	2025-06-29  Robert Dubner  <rdubner@symas.com>

	* Make-lang.in: Incorporate gcobol.clean.
	* except.cc (cbl_enabled_exceptions_t::dump): Update debug message.
	* genapi.cc (gg_attribute_bit_get): Formatting.
	(file_static_variable): Formatting.
	(trace1_init): Formatting.
	(build_main_that_calls_something): Normalize function_decl use.
	(parser_call_target): Likewise.
	(set_call_convention): Likewise.
	(parser_call_target_convention): Likewise.
	(parser_call_targets_dump): Likewise.
	(function_handle_from_name): Likewise.
	(function_pointer_from_name): Likewise.
	(parser_initialize_programs): Likewise.
	(parser_statement_begin): Formatting.
	(parser_leave_file): Use function_decl FIFO.
	(enter_program_common): Normalize function_decl use.
	(parser_enter_program): Normalize function_decl use.
	(tree_type_from_field_type): Normalize function_decl use.
	(is_valuable): Comment.
	(pe_stuff): Change name to program_end_stuff.
	(program_end_stuff): Likewise.
	(parser_exit): Likewise.
	(parser_division): Normalize function_decl use.
	(create_and_call): Normalize function_decl use.
	(parser_call): Normalize function_decl use.
	(parser_set_pointers): Normalize function_decl use.
	(parser_program_hierarchy): Normalize function_decl use.
	(psa_FldLiteralA): Defeat attempt to re-use literals. (Fails on some aarch64).
	(parser_symbol_add): Error message formatting.
	* genapi.h: Formatting.
	* gengen.cc (struct cbl_translation_unit_t): Add function_decl FIFO.
	(show_type): Rename to gg_show_type.
	(gg_show_type): Correct an error message.
	(gg_assign): Formatting; change error handling.
	(gg_modify_function_type): Normalize function_decl use.
	(gg_define_function_with_no_parameters): Fold into gg_defint_function().
	(function_decl_key): Normalize function_decl use.
	(gg_peek_fn_decl): Normalize function_decl use.
	(gg_build_fn_decl): Normalize function_decl use.
	(gg_define_function): Normalize function_decl use.
	(gg_tack_on_function_parameters): Remove.
	(gg_finalize_function): Normalize function_decl use.
	(gg_leaving_the_source_code_file): Normalize function_decl use.
	(gg_call_expr_list): Normalize function_decl use.
	(gg_trans_unit_var_decl): Normalize function_decl use.
	(gg_insert_into_assemblerf): New function; formatting.
	* gengen.h (struct gg_function_t): Eliminate "is_truly_nested" flag.
	(gg_assign): Incorporate return value.
	(gg_define_function): Normalize function_decl use.
	(gg_define_function_with_no_parameters): Eliminate.
	(gg_build_fn_decl): Normalize function_decl use.
	(gg_peek_fn_decl): Normalize function_decl use.
	(gg_modify_function_type): Normalize function_decl use.
	(gg_call_expr_list): Normalize function_decl use.
	(gg_get_function_decl): Normalize function_decl use.
	(location_from_lineno): Prefix with "extern".
	(gg_open): Likewise.
	(gg_close): Likewise.
	(gg_get_indirect_reference): Likewise.
	(gg_insert_into_assembler): Likewise.
	(gg_insert_into_assemblerf): Likewise.
	(gg_show_type): New declaration.
	(gg_leaving_the_source_code_file): New declaration.
	* parse.y: Format debugging message.
	* parse_ante.h: Normalize function_decl use.

2025-07-29  James K. Lowden  <jklowden@cobolworx.com>

	Backported from master:
	2025-06-20  James K. Lowden  <jklowden@cobolworx.com>

	PR cobol/120621
	* genapi.cc (parser_compile_ecs): Cast argument to unsigned long.
	(parser_compile_dcls): Same.
	(parser_division): RAII.
	(inspect_tally): Cast argument to unsigned long.
	* lexio.cc (cdftext::lex_open): Cast pid_t to long.
	* parse.y: hard-code values for old versions of Bison, and message format.
	* scan_ante.h (wait_for_the_child): Cast pid_t to long.

2025-07-29  James K. Lowden  <jklowden@cobolworx.com>

	Backported from master:
	2025-06-18  James K. Lowden  <jklowden@cobolworx.com>

	PR cobol/120621
	* cbldiag.h (yyerror): Add diagnostic attributes.
	(yywarn): Same.
	(error_msg): Same.
	(yyerrorvl): Same.
	(cbl_unimplementedw): Same.
	(cbl_unimplemented): Same.
	(cbl_unimplemented_at): Same.
	* cdf-copy.cc (copybook_elem_t::open_file): Supply string argument.
	* cdf.y: Use %<%>.
	* cobol-system.h (if): Check GCC_VERSION.
	(ATTRIBUTE_GCOBOL_DIAG): Define.
	* except.cc (cbl_enabled_exception_t::dump): Remove extra %s.
	* genapi.cc (get_class_condition_string): Use acceptable message.
	(get_bytes_needed): Same.
	(move_tree): Same.
	(get_string_from): Same.
	(internal_perform_through): Same.
	(tree_type_from_field_type): Same.
	(is_valuable): Same.
	(parser_logop): Same.
	(parser_relop): Same.
	(parser_relop_long): Same.
	(parser_if): Same.
	(parser_setop): Same.
	(parser_perform_conditional): Same.
	(parser_file_add): Same.
	(parser_file_open): Same.
	(parser_file_close): Same.
	(parser_file_read): Same.
	(parser_file_write): Same.
	(inspect_replacing): Same.
	(parser_sort): Same.
	(parser_file_sort): Same.
	(parser_file_merge): Same.
	(create_and_call): Same.
	(parser_bitop): Same.
	(parser_bitwise_op): Same.
	(hijack_for_development): Same.
	(mh_source_is_literalN): Same.
	(mh_dest_is_float): Same.
	(parser_symbol_add): Same.
	* gengen.cc (show_type): Use acceptable message.
	(gg_find_field_in_struct): Same.
	(gg_declare_variable): Same.
	(gg_printf): Same.
	(gg_fprintf): Same.
	(gg_tack_on_function_parameters): Same.
	(gg_define_function): Same.
	(gg_get_function_decl): Same.
	(gg_finalize_function): Same.
	(gg_call_expr): Same.
	(gg_call): Same.
	(gg_insert_into_assembler): Define new function.
	(gg_insert_into_assemblerf): Use gg_insert_into_assembler().
	* gengen.h (gg_insert_into_assembler): Simpler function declaration.
	(gg_insert_into_assemblerf): Declare new function.
	* genmath.cc (parser_op): Use acceptable message.
	* genutil.cc (get_binary_value): Use acceptable message.
	* lexio.cc (parse_replacing_pair): Correct diagnostic arguments.
	(preprocess_filter_add): Same.
	(cdftext::open_input): Same.
	* parse.y: Use acceptable messages.
	* parse_ante.h (struct evaluate_elem_t): Use %<%>.
	(is_callable): Same.
	* parse_util.h (intrinsic_invalid_parameter): Use %qs.
	* scan.l: Use dialect_error().
	* scan_ante.h (numstr_of): Use %qs.
	(scanner_token): Quote COBOL tokens in messages.
	(scanner_parsing): Correct diagnostic message.
	(scanner_parsing_toggle): Quote COBOL tokens in messages.
	(scanner_parsing_pop): Same.
	(typed_name): Use %qs.
	* scan_post.h (prelex): Quote COBOL tokens in message.
	* show_parse.h (CHECK_FIELD): Use acceptable message format.
	(CHECK_LABEL): Same.
	* symbols.cc (symbol_field_same_as): Remove extra spaces.
	(cbl_alphabet_t::assign): Use %<%>.
	(cbl_field_t::internalize): Quote library name in message.
	* symbols.h (struct os_locale_t): Constify codeset.
	(class temporaries_t): Add copy constructor.
	(struct cbl_alphabet_t): Use acceptable message.
	* util.cc (symbol_type_str): Use cbl_internal_error.
	(cbl_field_type_str): Same.
	(is_elementary): Same.
	(cbl_field_t::report_invalid_initial_value): Use %qs.
	(class unique_stack): Avoid %m.
	(ydferror): Declare function with attributes.
	(error_msg): Same.
	(cobol_fileline_set): Use %<%>.
	(os_locale_t): Remove use of xstrdup.
	(cobol_parse_files): Quote C names in message.
	(dialect_error): Use %<%>.
	* util.h (cbl_message): Add attributes.
	(cbl_internal_error): Same.
	(cbl_err): Same.
	(cbl_errx): Same.

2025-07-29  James K. Lowden  <jklowden@cobolworx.com>

	Backported from master:
	2025-06-16  James K. Lowden  <jklowden@cobolworx.com>

	PR cobol/120621
	* Make-lang.in: Use STRICT_WARN.
	* cbldiag.h (location_dump): suppress shadowVariable.
	* cdf-copy.cc (esc): Fix shadowVariable.
	(copybook_elem_t::open_file): Do not use %m.
	* cdf.y: suppress invalidPrintfArgType for target format.
	* cdfval.h (struct cdfval_t): Suppress noExplicitConstructor.
	* cobol1.cc (cobol_name_mangler): Use C++ cast.
	* copybook.h (class copybook_elem_t): Same.
	* dts.h: Fixes and suppressions due to cppcheck.
	* except.cc (cbl_enabled_exceptions_t::status): Suppress useStlAlgorithm.
	(cbl_enabled_exceptions_t::turn_on_off): Const parameter.
	(class choose_declarative): Removed.
	* genapi.cc (struct called_tree_t): Explicit constructor.
	(parser_compile_ecs): Cast to void * for %p.
	(parser_compile_dcls): Same.
	(parser_statement_begin): Same.
	(initialize_variable_internal): Use std::vector for subscripts.
	(parser_initialize): Constification.
	(get_string_from): Same.
	(combined_name): Same.
	(parser_perform): Same.
	(psa_FldLiteralN): Same.
	(is_figconst): Const parameter.
	(is_figconst_t): Same.
	(parser_exit): Same.
	(parser_division): Const pointer.
	(parser_perform_conditional): Whitespace.
	(parser_set_conditional88): Const parameter.
	(inspect_tally): Use std::vector.
	(inspect_replacing): Same.
	(parser_inspect): Same.
	(parser_intrinsic_subst): Use std::vector (constuct elements).
	(parser_intrinsic_call_1): Use std::vector for subscripts.
	(is_ascending_key): Const pointer.
	(parser_sort): Use std::vector.
	(parser_file_sort): Same.
	(parser_file_merge): Same.
	(parser_unstring): Same.
	(parser_string): Same.
	(parser_call): Const pointer.
	(parser_program_hierarchy): Use std::vector.
	(conditional_abs): Const paraemeter.
	(float_type_of): Same.
	(initial_from_initial): Set value, quoted or not.
	(parser_symbol_add): Remove redundant nested test.
	* genapi.h (parser_add): Const parameters.
	(parser_subtract): Same.
	(parser_multiply): Same.
	(parser_divide): Same.
	(parser_perform): Same.
	(parser_exit): Same.
	(parser_initialize): Same.
	(parser_set_conditional88): Same.
	(parser_sort): Same.
	(parser_file_sort): Same.
	(parser_file_merge): Same.
	(parser_string): Same.
	(is_ascending_key): Same.
	* genmath.cc (arithmetic_operation): Use std::vector.
	(is_somebody_float): Const parameter.
	(all_results_binary): Const parameter.
	(fast_multiply): Remove redundant nested test.
	(parser_add): Const parameter.
	(parser_multiply): Remove redundant nested test.
	(parser_divide): Const parameter.
	(parser_subtract): Same.
	* genutil.cc (get_depending_on_value): Use std::vector.
	(get_data_offset): Same.
	(tree_type_from_field): Const parameter.
	(refer_has_depends): Const pointers.
	(get_literal_string): RAII.
	(refer_is_clean): Use std::vector.
	(get_time_nanoseconds): Newline at EOF.
	* genutil.h (tree_type_from_field): Remove declaration.
	* inspect.h (struct cbx_inspect_qual_t): Use std::vector.
	(struct cbl_inspect_qual_t): Same.
	(struct cbx_inspect_match_t): Same.
	(class cbl_inspect_match_t): Same.
	(struct cbx_inspect_replace_t): Same.
	(struct cbl_inspect_replace_t): Same.
	(struct cbx_inspect_oper_t): Same.
	(struct cbl_inspect_oper_t): Same.
	(struct cbx_inspect_t): Same.
	(struct cbl_inspect_t): Same.
	(parser_inspect): Same.
	* lexio.cc (indicated): Const pointer.
	(remove_inline_comment): Scope reduction.
	(maybe_add_space): Const pointer.
	(recognize_replacements): C++ cast.
	(check_source_format_directive): Same.
	(struct replacing_term_t): Explicit constructor.
	(parse_replace_pairs): Const reference.
	(location_in): Const reference.
	(parse_copy_directive): C++ cast.
	(parse_replace_last_off): Const parameter.
	(parse_replace_text): Const reference.
	(parse_replace_directive): C++ cast.
	(cdftext::lex_open): Const reference.
	(cdftext::open_output): Scope reduction.
	(cdftext::free_form_reference_format): Remove unused variable.
	(cdftext::process_file): Simplify.
	* lexio.h (struct bytespan_t): Use nullptr.
	(struct filespan_t): Initialize icol in constructor.
	(struct span_t): Suppress confused operatorEqRetRefThis.
	(struct replace_t): Eliminate single-value constructor.
	* parse.y: Many const cppcheck reports, and portable bit-shift.
	* parse_ante.h (reject_refmod): Const parameter.
	(require_pointer): Same.
	(require_integer): Same.
	(struct evaluate_elem_t): Explicit constructor.
	(struct arith_t): Use std::vector.
	(class eval_subject_t): Const parameter.
	(dump_inspect_match): Declare.
	(struct perform_t): Explicit constructor.
	(list_add):  Const parameter.
	(class tokenset_t): Avoid negative array index.
	(struct file_list_t): Explicit constructor.
	(struct field_list_t): Same.
	(struct refer_list_t): Same.
	(struct refer_marked_list_t): Const parameter.
	(struct refer_collection_t): Explicit constructor.
	(struct ast_inspect_oper_t): Remove class.
	(ast_inspect_oper_t): Same.
	(struct ast_inspect_t): Same.
	(struct ast_inspect_list_t): Same.
	(ast_inspect): Add location.
	(struct elem_list_t): Explicit constructor.
	(struct unstring_tgt_t): Same.
	(struct unstring_tgt_list_t): Same.
	(struct unstring_into_t): Same.
	(struct ffi_args_t): Same.
	(struct file_sort_io_t): Same.
	(merge_t): Same.
	(struct vargs_t): Same.
	(class prog_descr_t): Eliminate single-value constructor.
	(class program_stack_t): Suppress useStlAlgorithm.
	(struct rel_part_t): Eliminate single-value constructor.
	(class log_expr_t): Explicit constructor.
	(add_debugging_declarative): Rename local variable.
	(intrinsic_call_2): Const parameter.
	(invalid_key): Use std::find_if.
	(parser_add2): Const parameter.
	(parser_subtract2): Same.
	(stringify): Same.
	(unstringify): Same.
	(anybody_redefines): Same.
	(ast_call): Same.
	* parse_util.h (class cname_cmp): Explicit constructor.
	(intrinsic_inconsistent_parameter): Same.
	* scan_ante.h (struct cdf_status_t): Eliminate single-value constructor.
	(class enter_leave_t): Explicit constructor.
	(update_location): Const pointer, explicit constructor.
	(symbol_function_token): Const pointer.
	(typed_name): Same.
	* scan_post.h (datetime_format_of): Scope reduction.
	* show_parse.h (class ANALYZE): Use std::vector, explicit consstructor.
	* symbols.cc (symbol_table_extend): Scope reduction.
	(cbl_ffi_arg_t::cbl_ffi_arg_t): Define default constructor.
	(end_of_group): Const pointer.
	(symbol_find_odo): Const parameter.
	(rename_not_ok): Same.
	(field_str): Use %u instead of %d.
	(struct capacity_of): Const pointer.
	(symbols_update): Same.
	(symbol_field_parent_set): Same.
	(symbol_file_add): Same.
	(symbol_typedef_add): Same.
	(symbol_field_add): Use new operator=().
	(symbol_field): Suppress CastIntegerToAddressAtReturn.
	(symbol_register): Same.
	(symbol_file): Suppress knownConditionTrueFalse.
	(next_program): Const parameter.
	(symbol_file_record): Same.
	(class is_section): Explicit constructor.
	(cbl_file_t::no_key): Remove.
	(cbl_prog_hier_t::cbl_prog_hier_t): Use std::vector.
	(symbol_label_add): Assert pointer is not NULL.
	(symbol_label_section_exists): Const reference in lambda.
	(expand_picture): Use C++ cast.
	(symbol_program_callables): Const pointer.
	(symbol_currency_add): Suppress nullPointerRedundantCheck.
	(cbl_key_t): Use std::vector.
	(cbl_occurs_t::field_add): Const parameter.
	(cbl_occurs_t::index_add): Explicit constructor.
	(class is_field_at): Same.
	(cbl_file_key_t::deforward): Scope reduction.
	(cbl_file_t::keys_str): Use allocated memory only.
	(file_status_status_of): Const pointer.
	(is_register_field): Const parameter.
	* symbols.h (struct cbl_field_data_t): Eliminate single-value constructor.
	(struct cbl_occurs_bounds_t): Same.
	(struct cbl_refer_t): Use std::vector.
	(valid_move): Const parameter.
	(is_register_field): Same.
	(struct cbl_key_t): Use std::vector.
	(struct cbl_substitute_t): Eliminate single-value constructor.
	(refer_of): Return const reference
	(struct cbl_ffi_arg_t): Eliminate single-value constructor.
	(class temporaries_t): Same.
	(struct cbl_file_key_t): Define default constructor.
	(struct cbl_file_lock_t): Define copy constructor and operator=().
	(struct cbl_file_t): Complete default constructor.
	(struct symbol_elem_t): Explicit constructor.
	(symbol_elem_of): Suppress cstyleCast.
	(symbol_redefines): Const parameter.
	(struct cbl_field_t): Same.
	(cbl_section_of): Test for NULL pointer.
	(cbl_field_of): Same.
	(cbl_label_of): Same.
	(cbl_special_name_of): Same.
	(cbl_alphabet_of): Same.
	(cbl_file_of): Same.
	(is_figconst): Delete extra "struct" keyword.
	(is_figconst_low): Same.
	(is_figconst_zero): Same.
	(is_figconst_space): Same.
	(is_figconst_quote): Same.
	(is_figconst_high): Same.
	(is_space_value): Same.
	(is_quoted): Same.
	(symbol_index): Const parameter.
	(struct cbl_prog_hier_t): Suppress noExplicitConstructor.
	(struct cbl_perform_vary_t): Eliminate single-value constructor.
	(is_signable): Const parameter.
	(is_temporary): Same.
	(rename_not_ok): Same.
	(field_at): Test for NULL pointer.
	(class procref_base_t): Eliminate single-value constructor.
	* symfind.cc (is_data_field): Const pointer.
	(finalize_symbol_map2): Same.
	(class in_scope): Same.
	(symbol_match2): Same.
	* token_names.h: Suppress useInitializationList.
	* util.cc (normalize_picture): Whitespace and remove extra "continue".
	(redefine_field): Const pointer.
	(cbl_field_t::report_invalid_initial_value): Same.
	(literal_subscript_oob): Rename shadow variable.
	(cbl_refer_t::subscripts_set): Use std::vector.
	(cbl_refer_t::str): Same.
	(cbl_refer_t::deref_str): Same.
	(locally_unique): Use explicit constructor.
	(ambiguous_reference): Same.
	(class unique_stack): Use const reference.
	(cobol_filename): Const pointer.
	(verify_format): Scope reduction.
	(class temp_loc_t): Do not derive from YYLTYPE.
	(cobol_parse_files): Const pointer.
	* util.h (as_voidp): Define convenient converter.

2025-07-29  James K. Lowden  <jklowden@cobolworx.com>

	Backported from master:
	2025-06-10  James K. Lowden  <jklowden@cobolworx.com>

	* Make-lang.in: cobol.clean does not remove libgcobol files.
	* cdf.y: Suppress 1 cppcheck false positive.
	* cdfval.h (scanner_parsing):  Partial via cppcheck for PR119324.
	* gcobol.1: Fix groff errors.
	* gcobolspec.cc (append_arg): Const parameter.
	* parse_ante.h (intrinsic_call_2): Avoid NULL dereference.

2025-07-29  Robert Dubner  <rdubner@symas.com>

	Backported from master:
	2025-06-06  Robert Dubner  <rdubner@symas.com>
		    James K. Lowden  <jklowden@cobolworx.com>

	PR cobol/120328
	PR cobol/119695
	* Make-lang.in: Success with non-English locale.
	* cbldiag.h (cbl_unimplemented_at): Comment:
	* cdf-copy.cc (copybook_elem_t::open_file): Indentation.
	* cdf.y: YYABORT on certain errors.
	* cdfval.h (cdf_value): Const parameter.
	* copybook.h (class copybook_elem_t): Initialization.
	(class uppername_t): Explicit constructor.
	* except.cc (ec_type_descr): Remove %04s.
