aboutsummaryrefslogtreecommitdiff
path: root/gcc/cobol/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cobol/ChangeLog')
-rw-r--r--gcc/cobol/ChangeLog480
1 files changed, 480 insertions, 0 deletions
diff --git a/gcc/cobol/ChangeLog b/gcc/cobol/ChangeLog
index 4b05399..35d645c 100644
--- a/gcc/cobol/ChangeLog
+++ b/gcc/cobol/ChangeLog
@@ -1,3 +1,483 @@
+2025-08-02 Jakub Jelinek <jakub@redhat.com>
+
+ * parse.y (intrinsic): Use %td format specifier with no cast on
+ argument instead of %ld with cast to long.
+ * scan_ante.h (numstr_of): Likewise.
+ * util.cc (cbl_field_t::report_invalid_initial_value): Likewise.
+
+2025-08-01 Robert Dubner <rdubner@symas.com>
+
+ PR cobol/119324
+ * cbldiag.h (location_dump): Inline suppression of knownConditionTrueFalse.
+ * genapi.cc (parser_statement_begin): Combine two if() statements.
+ * genutil.cc (get_binary_value): File-level suppression of duplicateBreak.
+ * symbols.cc (symbol_elem_cmp): File-level suppression of duplicateBreak.
+
+2025-07-31 Robert Dubner <rdubner@symas.com>
+
+ PR cobol/120244
+ * genapi.cc (get_level_88_domain): Increase array size for final byte.
+ (psa_FldLiteralA): Use correct length in build_string_literal call.
+ * scan.l: Use a loop instead of std:transform to avoid EOF overrun.
+ * scan_ante.h (binary_integer_usage): Use a variable-length buffer.
+
+2025-07-25 David Malcolm <dmalcolm@redhat.com>
+
+ * util.cc: Update for diagnostic_t becoming
+ enum class diagnostics::kind.
+
+2025-07-25 David Malcolm <dmalcolm@redhat.com>
+
+ * util.cc: Update for renaming of diagnostic_option_id to
+ diagnostics::option_id.
+
+2025-07-25 David Malcolm <dmalcolm@redhat.com>
+
+ * util.cc: Remove redundant #includes
+
+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-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-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-15 Jakub Jelinek <jakub@redhat.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c/44677
+ * gcobolspec.cc (lang_specific_driver): Remove unused but set variable
+ n_cobol_files.
+
+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-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-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-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-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-01 James K. Lowden <jklowden@cobolworx.com>
* Make-lang.in: Use && instead of semicolon between commands.