https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120402
--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-15 branch has been updated by Robert Dubner <rdub...@gcc.gnu.org>: https://gcc.gnu.org/g:84296ba2a410193f795456392ca96718af7166b6 commit r15-10151-g84296ba2a410193f795456392ca96718af7166b6 Author: Robert Dubner <rdub...@symas.com> Date: Mon Jul 21 12:58:47 2025 -0400 cobol: Improved linemap and diagnostic handling; PIC validation. [PR120402] Implementation of PICTURE string validation for PR120402. Expanded some printf format attributes. Improved debugging and diagnostic messages. Improved linemap and line location tracking in support of diagnostic messages and location_t tagging of GENERIC nodes for improved GDB-COBOL performance. Assorted changes to eliminate cppcheck warnings. Co-Authored-By: James K. Lowden <jklow...@cobolworx.com> Co-Authored-By: Robert Dubner <rdub...@symas.com> gcc/cobol/ChangeLog: 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. (cherry picked from commit 7c1d08860796d4c1ff6fc8c5e8e8462e9ee8f7fc)