diff --git a/ChangeLog b/ChangeLog index 24601b33e7d..d7a03e42986 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2024-11-18 David Malcolm + + * configure.ac (--enable-libdiagnostics): New. + * configure: Regenerate. + 2024-11-05 Nick Clifton * configure.ac: Add sim to noconfigdirs for ARM targets. diff --git a/contrib/ChangeLog b/contrib/ChangeLog index b618c3d6ef7..388b8a64ca3 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,8 @@ +2024-11-18 David Malcolm + + PR other/96032 + * regenerate-sarif-spec-index.py: New file. + 2024-11-17 Jason Merrill PR libstdc++/106852 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4213c7775d0..299ddbae4af 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,467 @@ +2024-11-18 David Malcolm + + PR other/96032 + * Makefile.in (lang_checks): If libdiagnostics is enabled, add + check-sarif-replay. + (SARIF_REPLAY_OBJS): New. + (ALL_HOST_OBJS): If libdiagnostics is enabled, add + $(SARIF_REPLAY_OBJS). + (sarif-replay): New. + (install-libdiagnostics): Add sarif-replay to deps, and install + it. + * configure: Regenerate. + * configure.ac (check_languages): If libdiagnostics is enabled, + add check-sarif-replay. + (LIBDIAGNOSTICS): If libdiagnostics is enabled, add sarif-replay. + * doc/install.texi (--enable-libdiagnostics): Note that it also + enables sarif-replay. + * libsarifreplay.cc: New file. + * libsarifreplay.h: New file. + * sarif-replay.cc: New file. + * sarif-spec-urls.def: New file. + +2024-11-18 David Malcolm + + * Makefile.in (OBJS-libcommon): Add json-parsing.o. + * json-parsing.cc: New file. + * json-parsing.h: New file. + * json.cc (selftest::assert_print_eq): Remove "static". + * json.h (json::array::begin): New. + (json::array::end): New. + (json::array::length): New. + (json::array::get): New. + (is_a_helper ::test): New. + (is_a_helper ::test): New. + (is_a_helper ::test): New. + (is_a_helper ::test): New. + (is_a_helper ::test): New. + (is_a_helper ::test): New. + (is_a_helper ::test): New. + (is_a_helper ::test): New. + (is_a_helper ::test): New. + (is_a_helper ::test): New. + (is_a_helper ::test): New. + (is_a_helper ::test): New. + (selftest::assert_print_eq): New decl. + * selftest-run-tests.cc (selftest::run_tests): Call + selftest::json_parser_cc_tests. + * selftest.h (selftest::json_parser_cc_tests): New decl. + +2024-11-18 David Malcolm + + * configure.ac (check_languages): Add check-libdiagnostics. + (--enable-libdiagnostics): New. + * configure: Regenerate. + * Makefile.in (enable_libdiagnostics): New. + (lang_checks): If libdiagnostics is enabled, add + check-libdiagnostics. + (ALL_HOST_OBJS): If libdiagnostics is enabled, add + $(libdiagnostics_OBJS). + (start.encap): Add LIBDIAGNOSTICS. + (libdiagnostics_OBJS): New. + (LIBDIAGNOSTICS_VERSION_NUM): New, adapted from code in + jit/Make-lang.in. + (LIBDIAGNOSTICS_MINOR_NUM): Likewise. + (LIBDIAGNOSTICS_RELEASE_NUM): Likewise. + (LIBDIAGNOSTICS_FILENAME): Likewise. + (LIBDIAGNOSTICS_IMPORT_LIB): Likewise. + (libdiagnostics): Likewise. + (LIBDIAGNOSTICS_AGE): Likewise. + (LIBDIAGNOSTICS_BASENAME): Likewise. + (LIBDIAGNOSTICS_SONAME): Likewise. + (LIBDIAGNOSTICS_LINKER_NAME): Likewise. + (LIBDIAGNOSTICS_COMMA): Likewise. + (LIBDIAGNOSTICS_VERSION_SCRIPT_OPTION): Likewise. + (LIBDIAGNOSTICS_SONAME_OPTION): Likewise. + (LIBDIAGNOSTICS_SONAME_SYMLINK): Likewise. + (LIBDIAGNOSTICS_LINKER_NAME_SYMLINK): Likewise. + (LIBDIAGNOSTICS_FILENAME): Likewise. + (libdiagnostics.serial): Likewise. + (LIBDIAGNOSTICS_EXTRA_OPTS): Likewise. + (install): If libdiagnostics is enabled, add + install-libdiagnostics. + (libdiagnostics.install-headers): New. + (libdiagnostics.install-common): New, adapted from code in + jit/Make-lang.in. + (install-libdiagnostics): New. + * diagnostic-format-text.h + (diagnostic_text_output_format::get_location_text): Make public. + * doc/install.texi (--enable-libdiagnostics): New. + * doc/libdiagnostics/Makefile: New file. + * doc/libdiagnostics/conf.py: New file. + * doc/libdiagnostics/index.rst: New file. + * doc/libdiagnostics/make.bat: New file. + * doc/libdiagnostics/topics/diagnostic-manager.rst: New file. + * doc/libdiagnostics/topics/diagnostics.rst: New file. + * doc/libdiagnostics/topics/execution-paths.rst: New file. + * doc/libdiagnostics/topics/fix-it-hints.rst: New file. + * doc/libdiagnostics/topics/index.rst: New file. + * doc/libdiagnostics/topics/logical-locations.rst: New file. + * doc/libdiagnostics/topics/message-formatting.rst: New file. + * doc/libdiagnostics/topics/metadata.rst: New file. + * doc/libdiagnostics/topics/physical-locations.rst: New file. + * doc/libdiagnostics/topics/retrofitting.rst: New file. + * doc/libdiagnostics/topics/sarif.rst: New file. + * doc/libdiagnostics/topics/text-output.rst: New file. + * doc/libdiagnostics/topics/ux.rst: New file. + * doc/libdiagnostics/tutorial/01-hello-world.rst: New file. + * doc/libdiagnostics/tutorial/02-physical-locations.rst: New file. + * doc/libdiagnostics/tutorial/03-logical-locations.rst: New file. + * doc/libdiagnostics/tutorial/04-notes.rst: New file. + * doc/libdiagnostics/tutorial/05-warnings.rst: New file. + * doc/libdiagnostics/tutorial/06-fix-it-hints.rst: New file. + * doc/libdiagnostics/tutorial/07-execution-paths.rst: New file. + * doc/libdiagnostics/tutorial/index.rst: New file. + * libdiagnostics++.h: New file. + * libdiagnostics.cc: New file. + * libdiagnostics.h: New file. + * libdiagnostics.map: New file. + * doc/libdiagnostics/tutorial/example-1.png: New file. + +2024-11-18 Uros Bizjak + + PR target/117357 + * config/i386/i386.md (*rsqrtsf2_sse): + Also enable for !TARGET_SSE_MATH. + +2024-11-18 Richard Sandiford + + * timevar.def (TV_LATE_COMBINE): New timevar. + * late-combine.cc (pass_data_late_combine): Use it. + +2024-11-18 Richard Sandiford + + * config/aarch64/aarch64-early-ra.cc + (early_ra::IGNORE_REG): New flag. + (early_ra::fpr_preference): Handle it. + (early_ra::record_constraints): Fail the allocation if an + IGNORE_REG output operand is not independent of the inputs. + (defines_multi_def_pseudo): New function. + (early_ra::could_split_region_here): New member function, split + out from... + (early_ra::process_block): ...here. Try splitting a block into + multiple regions between the definition and use phases of an + instruction. Set IGNORE_REG on the output registers if we do so. + +2024-11-18 Richard Sandiford + + * config/aarch64/aarch64-early-ra.cc + (early_ra::process_block): Check m_accurate_live_ranges + rather than m_allocation_successful when deciding whether + to split a block into multiple regions. Skip over subregions + that we decide not to allocate. + +2024-11-18 Richard Sandiford + + * config/aarch64/aarch64-early-ra.cc + (early_ra::get_allocno_subgroup): Split can_change_mode_class test + out from modes_tieable_p test and only invalidate the live range + information for the former. + +2024-11-18 Richard Sandiford + + * config/aarch64/aarch64-early-ra.cc + (early_ra::record_allocation_failure): New member function. + (early_ra::get_allocno_subgroup): Use it instead of setting + m_allocation_successful directly. + (early_ra::record_constraints): Likewise. + (early_ra::allocate_colors): Likewise. + +2024-11-18 Richard Sandiford + + * config/aarch64/aarch64-early-ra.cc + (early_ra::record_live_range_failure): New member function. + (early_ra::m_accurate_live_ranges): New member variable. + (early_ra::start_new_region): Set m_accurate_live_ranges to true. + (early_ra::get_allocno_subgroup): Use record_live_range_failure + to abort the allocation on invalid subregs. + +2024-11-18 Richard Sandiford + + * config/aarch64/aarch64-early-ra.cc + (early_ra::record_insn_refs): Split into... + (early_ra::record_insn_defs, early_ra::record_insn_call) + (early_ra::record_insn_uses): ...this new functions. + (early_ra::process_block): Update accordingly. + +2024-11-18 David Malcolm + + PR other/116253 + * diagnostic-core.h (class auto_diagnostic_nesting_level): New. + * diagnostic-format-sarif.cc (class sarif_builder): Update leading + comment re nesting of diagnostics. + (sarif_result::on_nested_diagnostic): Add nestingLevel property. + * diagnostic-format-text.cc (on_report_diagnostic): If we're + showing nested diagnostics, then print changes of location on a + new line, indented, and update m_last_location. + (diagnostic_text_output_format::build_prefix): If m_show_nesting, + then potentially add indentation and a bullet point. + (get_bullet_point_unichar): New. + (use_unicode_p): New. + (diagnostic_text_output_format::build_indent_prefix): New. + * diagnostic-format-text.h + (diagnostic_text_output_format::diagnostic_text_output_format): + Initialize m_show_nesting and m_show_nesting_levels. + (diagnostic_text_output_format::build_indent_prefix): New decl. + (diagnostic_text_output_format::show_nesting_p): New accessor + (diagnostic_text_output_format::show_locations_in_nesting_p): + Likewise. + (diagnostic_text_output_format::set_show_nesting): New. + (diagnostic_text_output_format::set_show_locations_in_nesting): + New. + (diagnostic_text_output_format::set_show_nesting_levels): New. + (diagnostic_text_output_format::m_show_nesting): New field. + (diagnostic_text_output_format::m_show_locations_in_nesting): New + field. + (diagnostic_text_output_format::m_show_nesting_levels): New field. + * diagnostic-global-context.cc + (auto_diagnostic_nesting_level::auto_diagnostic_nesting_level): + New. + (auto_diagnostic_nesting_level::~auto_diagnostic_nesting_level): + New. + * diagnostic-show-locus.cc (layout_printer::print): Temporarily + set DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE. + * diagnostic.cc (diagnostic_context::initialize): Update for + renaming of m_nesting_depth to m_group_nesting_depth and + initialize m_diagnostic_nesting_level. + (diagnostic_context::finish): Update for renaming of + m_nesting_depth to m_group_nesting_depth. + (diagnostic_context::report_diagnostic): Likewise. + (diagnostic_context::begin_group): Likewise. + (diagnostic_context::end_group): Likewise. + (diagnostic_context::push_nesting_level): New. + (diagnostic_context::pop_nesting_level): New. + (diagnostic_context::set_diagnostic_buffer): Update for renaming + of m_nesting_depth to m_group_nesting_depth. Assert that we don't + have nested diagnostics. + * diagnostic.h (diagnostic_context::push_nesting_level): New decl. + (diagnostic_context::pop_nesting_level): New decl. + (diagnostic_context::get_diagnostic_nesting_level): New accessor. + (diagnostic_context::build_indent_prefix): New decl. + (diagnostic_context::m_diagnostic_groups): Rename m_nesting_depth + to m_group_nesting_depth and add field m_diagnostic_nesting_level. + * doc/invoke.texi (fdiagnostics-add-output): Add note about + "experimental" schemes, keys, and values. Add keys + "experimental-nesting", "experimental-nesting-show-locations", + and "experimental-nesting-show-levels" to text scheme. + * opts-diagnostic.cc (text_scheme_handler::make_sink): Add keys + "experimental-nesting", "experimental-nesting-show-locations", + and "experimental-nesting-show-levels". + +2024-11-18 Georg-Johann Lay + + PR target/84211 + * doc/invoke.texi (AVR Options) [-mfuse-move]: Document new option. + * common/config/avr/avr-common.cc (avr_option_optimization_table): + Set -mfuse-move= depending on optimization level. + * config/avr/avr.opt (-mfuse-move, -mfuse-move=): New options. + * config/avr/t-avr (avr-passes.o): Depend on avr-passes-fuse-move.h. + * config/avr/avr-passes-fuse-move.h: New file, used by avr-passes.cc. + * config/avr/avr-passes.def (avr_pass_fuse_move): Insert new pass. + * config/avr/avr-passes.cc (INCLUDE_ARRAY): Define it. + (insn-attr.h): Include it. + (avr_pass_data_fuse_move): New const pass_data. + (avr_pass_fuse_move): New public rtl_opt_pass class. + (make_avr_pass_fuse_move): New function. + (gprmask_t): New typedef. + (next_nondebug_insn_bb, prev_nondebug_insn_bb) + (single_set_with_scratch, size_to_mask, size_to_mode) + (emit_valid_insn, emit_valid_move_clobbercc) + (gpr_regno_p, regmask, has_bits_in) + (find_arith, find_arith2, any_shift_p): New local functions. + (AVRasm): New namespace. + (FUSE_MOVE_MAX_MODESIZE): New define. + (avr-passes-fuse-move.h): New include. + (memento_t, absint_t, absins_byte_t, absint_val_t) + (optimize_data_t, insn_optimizedata_t, find_plies_data_t) + (insninfo_t, bbinfo_t, ply_t, plies_t): New structs / classes. + * config/avr/avr-protos.h (avr_chunk, avr_byte, avr_word, avr_int8) + (avr_uint8, avr_int16, avr_uint16) + (avr_out_set_some, avr_set_some_operation) + (output_reload_in_const, make_avr_pass_fuse_move): New protos. + (avr_dump): Depend macro definition on GCC_DUMPFILE_H. + * config/avr/avr.cc (avr_option_override): Insert after + pass "avr-fuse-move" instead of after "peephole2". + (avr_chunk, avr_byte, avr_word, avr_int8, avr_uint8, avr_int16) + (avr_uint16, output_reload_in_const): Functions are no more static. + (avr_out_set_some, avr_set_some_operation): New functions. + (ashrqi3_out, ashlqi3_out) [offset=7]: Handle "r,r,C07" alternative. + (avr_out_insert_notbit): Comment also allows QImode. + (avr_adjust_insn_length) [ADJUST_LEN_SET_SOME]: Handle case. + * config/avr/avr.md (adjust_len) : New attribute value. + (set_some): New insn. + (andqi3, *andqi3): Add "r,r,Cb1" alternative. + (ashrqi3, *ashrqi3 ashlqi3, *ashlqi3): Add a "r,r,C07" alternative. + (gen_move_clobbercc_scratch): New emit helper. + * config/avr/constraints.md (Cb1): New constraint. + * config/avr/predicates.md (dreg_or_0_operand, set_some_operation): New. + * config/avr/avr-log.cc (avr_forward_to_printf): New static func. + (avr_log_vadump): Use it to recognize more formats. + +2024-11-18 Richard Biener + + PR tree-optimization/117594 + * tree-vect-loop.cc (vectorizable_live_operation_1): Pass + factor == 1 to vect_get_loop_len, insert generated stmts. + +2024-11-18 Jeff Law + + PR target/117595 + * config/riscv/sync.md (atomic_compare_and_swap): Use gen_lowpart + rather than simplify_gen_subreg. + * config/riscv/riscv.cc (riscv_legitimize_move): Similarly. + +2024-11-18 Georg-Johann Lay + + PR target/117659 + * config/avr/avr.cc (avr_out_ashlpsi3) [case 16]: Use %A1 as + input (instead of bogus %A0). + +2024-11-18 Robin Dapp + + * config/riscv/autovec.md: Add VLS modes. + * config/riscv/vector-iterators.md: Ditto. + * config/riscv/vector.md: Ditto. + +2024-11-18 Robin Dapp + + PR middle-end/115336 + PR middle-end/116059 + * config/riscv/autovec.md: Add else operand. + * config/riscv/predicates.md (maskload_else_operand): New + predicate. + * config/riscv/riscv-v.cc (get_else_operand): Remove static. + (expand_load_store): Use get_else_operand and adjust index. + (expand_gather_scatter): Ditto. + (expand_lanes_load_store): Ditto. + +2024-11-18 Robin Dapp + + * config/i386/sse.md (maskload): + Call maskload..._1. + (maskload_1): Rename. + +2024-11-18 Robin Dapp + + * config/gcn/predicates.md (maskload_else_operand): New + predicate. + * config/gcn/gcn-valu.md: Use new predicate. + +2024-11-18 Robin Dapp + + * config/aarch64/aarch64-sve-builtins-base.cc: Add else + handling. + * config/aarch64/aarch64-sve-builtins.cc (function_expander::use_contiguous_load_insn): + Ditto. + * config/aarch64/aarch64-sve-builtins.h: Add else operand to + contiguous load. + * config/aarch64/aarch64-sve.md (@aarch64_load + _): + Split and add else operand. + (@aarch64_load_): + Ditto. + (*aarch64_load__mov): + Ditto. + * config/aarch64/aarch64-sve2.md: Ditto. + * config/aarch64/iterators.md: Remove unused iterators. + * config/aarch64/predicates.md (aarch64_maskload_else_operand): + Add zero else operand. + +2024-11-18 Robin Dapp + + * optabs-query.cc (supports_vec_convert_optab_p): Return icode. + (get_supported_else_val): Return supported else value for + optab's operand at index. + (supports_vec_gather_load_p): Add else argument. + (supports_vec_scatter_store_p): Ditto. + * optabs-query.h (supports_vec_gather_load_p): Ditto. + (get_supported_else_val): Ditto. + * optabs-tree.cc (target_supports_mask_load_store_p): Ditto. + (can_vec_mask_load_store_p): Ditto. + (target_supports_len_load_store_p): Ditto. + (get_len_load_store_mode): Ditto. + * optabs-tree.h (target_supports_mask_load_store_p): Ditto. + (can_vec_mask_load_store_p): Ditto. + * tree-vect-data-refs.cc (vect_lanes_optab_supported_p): Ditto. + (vect_gather_scatter_fn_p): Ditto. + (vect_check_gather_scatter): Ditto. + (vect_load_lanes_supported): Ditto. + * tree-vect-patterns.cc (vect_recog_gather_scatter_pattern): + Ditto. + * tree-vect-slp.cc (vect_get_operand_map): Adjust indices for + else operand. + (vect_slp_analyze_node_operations): Skip undefined else operand. + * tree-vect-stmts.cc (exist_non_indexing_operands_for_use_p): + Add else operand handling. + (vect_get_vec_defs_for_operand): Handle undefined else operand. + (check_load_store_for_partial_vectors): Add else argument. + (vect_truncate_gather_scatter_offset): Ditto. + (vect_use_strided_gather_scatters_p): Ditto. + (get_group_load_store_type): Ditto. + (get_load_store_type): Ditto. + (vect_get_mask_load_else): Ditto. + (vect_get_else_val_from_tree): Ditto. + (vect_build_one_gather_load_call): Add zero else operand. + (vectorizable_load): Use else operand. + * tree-vectorizer.h (vect_gather_scatter_fn_p): Add else + argument. + (vect_load_lanes_supported): Ditto. + (vect_get_mask_load_else): Ditto. + (vect_get_else_val_from_tree): Ditto. + +2024-11-18 Robin Dapp + + * tree-if-conv.cc (predicate_load_or_store): Add zero else + operand and comment. + +2024-11-18 Robin Dapp + + * internal-fn.cc (add_mask_and_len_args): Rename... + (add_mask_else_and_len_args): ...to this and add else handling. + (expand_partial_load_optab_fn): Use adjusted function. + (expand_partial_store_optab_fn): Ditto. + (expand_scatter_store_optab_fn): Ditto. + (expand_gather_load_optab_fn): Ditto. + (internal_fn_len_index): Add else handling. + (internal_fn_else_index): Ditto. + (internal_fn_mask_index): Ditto. + (get_supported_else_vals): New function. + (supported_else_val_p): New function. + (internal_gather_scatter_fn_supported_p): Add else operand. + * internal-fn.h (internal_gather_scatter_fn_supported_p): Define + else constants. + (MASK_LOAD_ELSE_ZERO): Ditto. + (MASK_LOAD_ELSE_M1): Ditto. + (MASK_LOAD_ELSE_UNDEFINED): Ditto. + (get_supported_else_vals): Declare. + (supported_else_val_p): Ditto. + +2024-11-18 Robin Dapp + + * doc/md.texi: Document masked load else operand. + +2024-11-18 Andrew Pinski + + PR tree-optimization/117646 + * match.pd (`max==0`): Add casts to `unsigned type`. + +2024-11-18 Jeff Law + + * ext-dce.cc (maybe_clear_subreg_promoted_p): New function. + (ext_dce_execute): Call it. + +2024-11-18 Maciej W. Rozycki + + * config/alpha/alpha.md (unaligned_store): Remove stray + `;;'. + +2024-11-18 John David Anglin + + PR target/69374 + * doc/install.texi (Specific) : Update anchor + and heading to reflect removal of 32-bit hppa support on HP-UX. + Trim 32-bit related text. + 2024-11-17 Florian Weimer PR c/95445 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 7d15800c874..6d3c9325db8 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20241118 +20241119 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 335587f5863..a2dc3e1c417 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,133 @@ +2024-11-18 Eric Botcazou + + * exp_ch4.adb (Expand_N_Case_Expression): Remove the test on + enclosing predicate function for the return optimization. + Rewrite it in the general case to catch all nondynamic predicates. + (Expand_N_If_Expression): Remove the test on enclosing predicate + function for the return optimization. + +2024-11-18 Bob Duff + + * doc/gnat_rm/implementation_defined_characteristics.rst: + Remove Atomic_Synchronization. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Likewise. + * doc/gnat_rm/implementation_defined_pragmas.rst: DRY. + Consolidate documentation of Disable/Enable_Atomic_Synchronization. + * checks.adb: Comment fix. + * exp_util.ads: Likewise. + * targparm.ads: Likewise. + * types.ads: Likewise. + * gnat1drv.adb: Likewise. DRY. + * sem_prag.adb (Process_Disable_Enable_Atomic_Sync): + Change name of Atomic_Synchronization to start with + underscore. + (Process_Suppress_Unsuppress): No need to check Comes_From_Source for + Atomic_Synchronization anymore; _Atomic_Synchronization can never + come from source. (Anyway, it shouldn't be ignored; it should be + an error.) + * snames.ads-tmpl (Atomic_Synchronization): + Change name to start with underscore. + * switch-c.adb (Scan_Front_End_Switches): + Minor cleanup: Use 'in'. + * gnat_rm.texi: Regenerate. + * gnat_ugn.texi: Regenerate. + +2024-11-18 Eric Botcazou + + * sem_eval.adb (Eval_Indexed_Component): Clear Do_Range_Check on + the expressions if Kill_Range_Check is set on the node. + +2024-11-18 Eric Botcazou + + * exp_util.adb (Remove_Init_Call): Rewrite a compound statement in + the Initialization_Statements of the variable as a null statement + instead of removing it. + * freeze.adb (Explode_Initialization_Compound_Statement): Small + comment tweaks. + +2024-11-18 Eric Botcazou + + * exp_aggr.adb (UI_Are_In_Int_Range): New predicate. + (Aggr_Size_OK): Use it. + (Flatten): Likewise. + (Packed_Array_Aggregate_Handled): Likewise. + (Static_Array_Aggregate): Likewise. + +2024-11-18 Eric Botcazou + + * freeze.ads (Explode_Initialization_Compound_Statement): Adjust the + description. + * freeze.adb (Explode_Initialization_Compound_Statement): If the + entity has its freezing delayed, append the initialization actions + to its freeze actions. + (Freeze_Object_Declaration): Remove commented out code. + (Freeze_Entity): Remove bypass for object of anonymous array type. + +2024-11-18 Eric Botcazou + + * exp_sel.ads (Build_Abort_Block): Remove second parameter and + rename the third. + (Build_Abort_Block_Handler): Fix description. + * exp_sel.adb (Build_Abort_Block): Remove second parameter, rename + the third and adjust accordingly. + * exp_ch9.adb (Expand_N_Asynchronous_Select): Fix the description + of the exception handler throughout. Remove Abort_Block_Ent and + Hdle local variables. Call Build_Abort_Block consistently to build + the abort block and adjust existing calls. + +2024-11-18 Steve Baird + + * exp_aggr.adb (Convert_To_Positional.Flatten): Avoid raising + Constraint_Error in UI_To_Int by testing UI_Is_In_Int_Range first. + +2024-11-18 Eric Botcazou + + * exp_aggr.adb (Build_Array_Aggr_Code): Build the simple assignment + for the case of an aggregate that can be handled by the back end. + (Expand_Array_Aggregate): Adjust description of the processing. + Move handling of declaration case to STEP 4 and remove handling of + the case of an aggregate that can be processed by the back end. + (Late_Expansion): Likewise for the second part. + * exp_ch3.adb (Expand_N_Object_Declaration): Deal with a delayed + aggregate synthesized for the default initialization, if any. + * sem_eval.adb (Eval_Indexed_Component): Bail out for the name of + an assignment statement. + +2024-11-18 Eric Botcazou + + * exp_aggr.adb (In_Place_Assign_OK): Remove handling of allocators + and call Must_Slide instead of implementing the check manually. + (Convert_To_Assignments): Adjust outdated comment. + (Expand_Array_Aggregate): Move handling of allocator case to STEP 3 + and call Must_Slide directly for it. + (Must_Slide): Replace tests based on Is_OK_Static_Expression with + tests based on Compile_Time_Known_Value. + +2024-11-18 Eric Botcazou + + * exp_aggr.adb (Convert_Array_Aggr_In_Allocator): Delete. + (Convert_Aggr_In_Allocator): Do not call above procedure. + (Late_Expansion): Deal with a target that is the dereference of a + prefix with a Storage_Model. Remove an useless actual parameter + in the call to Build_Array_Aggr_Code. + +2024-11-18 Javier Miranda + + * sem_res.adb (Resolve_Actuals): Add by default a null-exclusion + check on the prefix of the call when it is an access-type; it can + be disabled using -gnatd_P. + * debug.adb (gnatd_P): Update documentation. + +2024-11-18 squirek + + * accessibility.adb (Accessibility_Level): Handle the Input attribute + case + +2024-11-18 Ronan Desplanques + + * frontend.adb (Frontend): tweak test for predefined main unit. + 2024-11-14 Eric Botcazou * gcc-interface/decl.cc (elaborate_expression_2): Do not divide and diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 8f9bbb9603b..2716c679533 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,10 @@ +2024-11-18 David Malcolm + + PR other/116253 + * c-opts.cc (c_diagnostic_text_finalizer): Use + text_output.build_indent_prefix for prefix to + diagnostic_show_locus. + 2024-11-17 Jason Merrill * c.opt.urls: Regenerate. diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 8963bbe8c86..87bf668fc84 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,9 @@ +2024-11-18 Joseph Myers + + PR c/112556 + * c-typeck.cc (convert_for_assignment): Allow conversion of + ENUMERAL_TYPE and BOOLEAN_TYPE null pointer constants to pointers. + 2024-11-17 Florian Weimer PR c/95445 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 61515085215..261f7a1f6f4 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,14 @@ +2024-11-18 Harald Anlauf + + PR fortran/53357 + * dependency.cc (gfc_dep_compare_expr): Return correct result if + relationship of expressions could not be determined. + * interface.cc (gfc_check_result_characteristics): Implement error + messages if character function declations and references do not + agree, else emit warning in cases where a mismatch is suspected. + * trans-stmt.cc (gfc_trans_allocate): Implement a string length + check for -fcheck=bounds. + 2024-11-16 Paul Thomas PR fortran/109066 diff --git a/gcc/m2/ChangeLog b/gcc/m2/ChangeLog index b0613aad2f2..e4a52af3af3 100644 --- a/gcc/m2/ChangeLog +++ b/gcc/m2/ChangeLog @@ -1,3 +1,34 @@ +2024-11-18 Gaius Mulley + + PR modula2/117555 + * gm2-libs-iso/M2EXCEPTION.mod (M2Exception): Add missing + return statement. + * gm2-libs-iso/RealConv.mod (ValueReal): Ditto. + * gm2-libs-iso/RndFile.mod (StartPos): Ditto. + (EndPos): Ditto. + (NewPos): Ditto. + * gm2-libs-iso/ShortConv.mod (ValueReal): Ditto. + * gm2-libs-iso/WholeConv.mod (ValueInt): Ditto. + (ValueCard): Ditto. + +2024-11-18 Gaius Mulley + + PR modula2/117660 + * gm2-compiler/P2Build.bnf (ArrayType): Update tok with the + composite token produced during array type declaration. + * gm2-compiler/P2SymBuild.mod (EndBuildArray): Create the + combinedtok and store it into the symbol table. + Also ensure combinedtok is pushed to the quad stack. + (BuildFieldArray): Preserve typetok. + * gm2-compiler/SymbolTable.def (PutArray): Rename parameters. + * gm2-compiler/SymbolTable.mod (PutArray): Rename parameters. + +2024-11-18 Gaius Mulley + + PR modula2/117371 + * gm2-compiler/M2GenGCC.mod (PerformLastForIterator): + Add check for zero step value and issue an error message. + 2024-11-16 Gaius Mulley PR modula2/117555 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a07a4781c69..c31cb0d1c2b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,199 @@ +2024-11-18 Joseph Myers + + PR c/112556 + * gcc.dg/c11-null-pointer-constant-1.c, + gcc.dg/c23-null-pointer-constant-1.c: New tests. + +2024-11-18 David Malcolm + + PR other/96032 + * lib/gcc-dg.exp (gcc-dg-test-1): Add "replay-sarif". + * lib/sarif-replay-dg.exp: New file. + * lib/sarif-replay.exp: New file. + * sarif-replay.dg/2.1.0-invalid/3.1-not-an-object.sarif: New test. + * sarif-replay.dg/2.1.0-invalid/3.11.11-malformed-placeholder.sarif: + New test. + * sarif-replay.dg/2.1.0-invalid/3.11.11-missing-arguments-for-placeholders.sarif: + New test. + * sarif-replay.dg/2.1.0-invalid/3.11.11-not-enough-arguments-for-placeholders.sarif: + New test. + * sarif-replay.dg/2.1.0-invalid/3.13.2-no-version.sarif: New test. + * sarif-replay.dg/2.1.0-invalid/3.13.2-version-not-a-string.sarif: + New test. + * sarif-replay.dg/2.1.0-invalid/3.13.4-bad-runs.sarif: New test. + * sarif-replay.dg/2.1.0-invalid/3.13.4-no-runs.sarif: New test. + * sarif-replay.dg/2.1.0-invalid/3.13.4-non-object-in-runs.sarif: + New test. + * sarif-replay.dg/2.1.0-invalid/3.27.10-bad-level.sarif: New test. + * sarif-replay.dg/2.1.0-unhandled/3.27.10-none-level.sarif: New test. + * sarif-replay.dg/2.1.0-valid/error-with-note.sarif: New test. + * sarif-replay.dg/2.1.0-valid/escaped-braces.sarif: New test. + * sarif-replay.dg/2.1.0-valid/null-runs.sarif: New test. + * sarif-replay.dg/2.1.0-valid/signal-1.c.sarif: New test. + * sarif-replay.dg/2.1.0-valid/spec-example-1.sarif: New test. + * sarif-replay.dg/2.1.0-valid/spec-example-2.sarif: New test. + * sarif-replay.dg/2.1.0-valid/spec-example-3.sarif: New test. + * sarif-replay.dg/2.1.0-valid/spec-example-4.sarif: New test. + * sarif-replay.dg/2.1.0-valid/tutorial-example.sarif: New test. + * sarif-replay.dg/dg.exp: New script. + * sarif-replay.dg/malformed-json/array-missing-comma.sarif: New test. + * sarif-replay.dg/malformed-json/array-with-trailing-comma.sarif: + New test. + * sarif-replay.dg/malformed-json/bad-token.sarif: New test. + * sarif-replay.dg/malformed-json/object-missing-comma.sarif: New test. + * sarif-replay.dg/malformed-json/object-with-trailing-comma.sarif: + New test. + +2024-11-18 David Malcolm + + * libdiagnostics.dg/libdiagnostics.exp: New, adapted from jit.exp. + * libdiagnostics.dg/sarif.py: New. + * libdiagnostics.dg/test-dump.c: New test. + * libdiagnostics.dg/test-error-c.py: New test. + * libdiagnostics.dg/test-error-with-note-c.py: New test. + * libdiagnostics.dg/test-error-with-note.c: New test. + * libdiagnostics.dg/test-error-with-note.cc: New test. + * libdiagnostics.dg/test-error.c: New test. + * libdiagnostics.dg/test-error.cc: New test. + * libdiagnostics.dg/test-example-1.c: New test. + * libdiagnostics.dg/test-fix-it-hint-c.py: New test. + * libdiagnostics.dg/test-fix-it-hint.c: New test. + * libdiagnostics.dg/test-fix-it-hint.cc: New test. + * libdiagnostics.dg/test-helpers++.h: New test. + * libdiagnostics.dg/test-helpers.h: New test. + * libdiagnostics.dg/test-labelled-ranges.c: New test. + * libdiagnostics.dg/test-labelled-ranges.cc: New test. + * libdiagnostics.dg/test-labelled-ranges.py: New test. + * libdiagnostics.dg/test-logical-location-c.py: New test. + * libdiagnostics.dg/test-logical-location.c: New test. + * libdiagnostics.dg/test-metadata-c.py: New test. + * libdiagnostics.dg/test-metadata.c: New test. + * libdiagnostics.dg/test-multiple-lines-c.py: New test. + * libdiagnostics.dg/test-multiple-lines.c: New test. + * libdiagnostics.dg/test-no-column-c.py: New test. + * libdiagnostics.dg/test-no-column.c: New test. + * libdiagnostics.dg/test-no-diagnostics-c.py: New test. + * libdiagnostics.dg/test-no-diagnostics.c: New test. + * libdiagnostics.dg/test-note-with-fix-it-hint-c.py: New test. + * libdiagnostics.dg/test-note-with-fix-it-hint.c: New test. + * libdiagnostics.dg/test-text-sink-options.c: New test. + * libdiagnostics.dg/test-warning-c.py: New test. + * libdiagnostics.dg/test-warning-with-path-c.py: New test. + * libdiagnostics.dg/test-warning-with-path.c: New test. + * libdiagnostics.dg/test-warning.c: New test. + * libdiagnostics.dg/test-write-sarif-to-file-c.py: New test. + * libdiagnostics.dg/test-write-sarif-to-file.c: New test. + * libdiagnostics.dg/test-write-text-to-file.c: New test. + +2024-11-18 David Malcolm + + * lib/dg-test-cleanup.exp: New file, from material moved from + lib/gcc-dg.exp. + * lib/gcc-dg.exp: Add load_lib of dg-test-cleanup.exp. + (cleanup-after-saved-dg-test): Move to lib/dg-test-cleanup.exp. + (dg-test): Likewise for override. + (initialize_prune_notes): Likewise. + +2024-11-18 Uros Bizjak + + PR target/117357 + * gcc.target/i386/pr117357.c: New test. + +2024-11-18 Martin Uecker + + PR testsuite/117419 + * gcc.dg/enum-alias-1.c: Add __INT_MAX__. + * gcc.dg/enum-alias-2.c: Likewise. + * gcc.dg/enum-alias-3.c: Likewise. + +2024-11-18 Richard Sandiford + + * gcc.target/aarch64/early_ra_1.c: New test. + +2024-11-18 David Malcolm + + PR other/116253 + * gcc.dg/plugin/diagnostic-test-nesting-sarif.c: New test. + * gcc.dg/plugin/diagnostic-test-nesting-sarif.py: New test. + * gcc.dg/plugin/diagnostic-test-nesting-text-indented-show-levels.c: + New test. + * gcc.dg/plugin/diagnostic-test-nesting-text-indented-unicode.c: + New test. + * gcc.dg/plugin/diagnostic-test-nesting-text-indented.c: New test. + * gcc.dg/plugin/diagnostic-test-nesting-text-plain.c: New test. + * gcc.dg/plugin/diagnostic_plugin_test_nesting.c: New test plugin. + * gcc.dg/plugin/plugin.exp: Add the above. + +2024-11-18 Georg-Johann Lay + + PR target/84211 + * gcc.target/avr/torture/test-gprs.h: New file. + * gcc.target/avr/torture/pr84211-fuse-move-1.c: New test. + * gcc.target/avr/torture/pr84211-fuse-move-2.c: New test. + +2024-11-18 Harald Anlauf + + PR fortran/53357 + * gfortran.dg/auto_char_len_4.f90: Adjust patterns. + * gfortran.dg/typebound_override_1.f90: Likewise. + * gfortran.dg/bounds_check_strlen_10.f90: New test. + +2024-11-18 Richard Biener + + PR tree-optimization/117594 + * gcc.dg/vect/pr117594.c: New testcase. + +2024-11-18 Jeff Law + + PR target/117595 + * gcc.target/riscv/pr117595.c: New test. + +2024-11-18 Gaius Mulley + + PR modula2/117660 + * gm2/iso/fail/arraymismatch.mod: New test. + +2024-11-18 Gaius Mulley + + PR modula2/117371 + * gm2/iso/fail/forloopbyzero.mod: New test. + +2024-11-18 Jennifer Schmitz + + PR tree-optimization/117093 + * gcc.dg/tree-ssa/pr117093.c: Move to gcc.target/aarch64. + * gcc.target/aarch64/pr117093.c: New test. + +2024-11-18 Robin Dapp + + PR middle-end/115336 + PR middle-end/116059 + * gcc.target/riscv/rvv/autovec/pr115336.c: New test. + * gcc.target/riscv/rvv/autovec/pr116059.c: New test. + +2024-11-18 Andrew Pinski + + PR tree-optimization/117646 + * gcc.dg/torture/minmaxneeqptr-1.c: New test. + +2024-11-18 Jason Merrill + + * g++.dg/modules/dep-4.H: New test. + +2024-11-18 Andrew Pinski + + PR testsuite/117494 + * gcc.dg/vect/pr101145inf.c: Remove dg-do and replace + with dg-require-effective-target of signal. + * gcc.dg/vect/pr101145inf_1.c: Likewise. + * gcc.dg/vect/pr101145inf.inc: Rename main to main1 + and mark as noinline. + Include tree-vect.h. Have main call check_vect and main1. + +2024-11-18 Jeff Law + + * gcc.target/riscv/ext-dce-1.c: New test. + 2024-11-17 Florian Weimer PR c/95445 diff --git a/libatomic/ChangeLog b/libatomic/ChangeLog index 683139f6f0e..9adfb27daa3 100644 --- a/libatomic/ChangeLog +++ b/libatomic/ChangeLog @@ -1,3 +1,8 @@ +2024-11-18 David Malcolm + + * testsuite/lib/libatomic.exp: Add + "load_gcc_lib dg-test-cleanup.exp". + 2024-11-14 Szabolcs Nagy * config/linux/aarch64/atomic_16.S (FEATURE_1_GCS): Define. diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index c018bd4c74e..eb9e54c77a1 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,9 @@ +2024-11-18 Jason Merrill + + * internal.h (_cpp_get_file_dir): Declare. + * files.cc (_cpp_get_file_dir): New fn. + * mkdeps.cc (make_write): Use it. + 2024-11-17 Jason Merrill * internal.h (search_path_head): Declare. diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 7f9402ba40c..dc8106c3ca4 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,18 @@ +2024-11-18 Jeff Law + + PR target/117628 + * config/arm/freebsd-atomic.c (bool): Remove unnecessary typedef. + * config/arm/linux-atomic-64bit.c: Likewise. + * config/arm/linux-atomic.c: Likewise. + * config/nds32/linux-atomic.c: Likewise. + * config/nios2/linux-atomic.c: Likewise. + +2024-11-18 Jeff Law + + PR target/117628 + * config/csky/linux-atomic.c (bool): Remove unnecessary typedef. + * unwind-arm-common.inc (bool): Similarly. + 2024-11-17 John David Anglin PR target/117627 diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 014eab4b26e..393f8ba5ac7 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,20 @@ +2024-11-18 David Malcolm + + * testsuite/lib/libgomp.exp: Add + "load_gcc_lib dg-test-cleanup.exp". + +2024-11-18 Tobias Burnus + + * plugin/plugin-gcn.c (GOMP_OFFLOAD_openacc_async_construct): In + case of an error, call GOMP_PLUGIN_fatal not ..._error; use NULL + not false in return. + +2024-11-18 Tobias Burnus + + PR libgomp/117626 + * plugin/plugin-nvptx.c (nvptx_open_device): Use 'CUDA_CALL_ERET' + with 'NULL' as error return instead of 'CUDA_CALL' that returns false. + 2024-11-14 Tobias Burnus * libgomp.texi (OpenMP Implementation Status): Change TR13 to diff --git a/libitm/ChangeLog b/libitm/ChangeLog index faaeb7e22c5..dfa9a0035c8 100644 --- a/libitm/ChangeLog +++ b/libitm/ChangeLog @@ -1,3 +1,8 @@ +2024-11-18 David Malcolm + + * testsuite/lib/libitm.exp: Add + "load_gcc_lib dg-test-cleanup.exp". + 2024-09-23 Matthieu Longo * config/aarch64/sjlj.S: Replace SPARC CFI directive by diff --git a/libphobos/ChangeLog b/libphobos/ChangeLog index 4989a637112..8c1fb486ce7 100644 --- a/libphobos/ChangeLog +++ b/libphobos/ChangeLog @@ -1,3 +1,8 @@ +2024-11-18 David Malcolm + + * testsuite/lib/libphobos-dg.exp: Add + "load_gcc_lib dg-test-cleanup.exp". + 2024-09-02 Alex Coplan * testsuite/lib/libphobos-dg.exp: Load scanltrans.exp instead of diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 933c13ae860..6d5a4e2203f 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,24 @@ +2024-11-18 David Malcolm + + * testsuite/lib/libstdc++.exp: Add + "load_gcc_lib dg-test-cleanup.exp". + +2024-11-18 Jonathan Wakely + + * include/bits/hashtable.h (_Hashtable::_M_src_hash_code): + Improve comments. + (_Hashtable::_M_merge_unique(_Hashtable&)): Use pointer_traits + to get before-begin pointer. Only use static_cast on valid + nodes, not the before-begin pointer. Reuse a hash code cached in + the node when possible. + (_Hashtable::_M_merge_multi(_Hashtable&)): Likewise. + +2024-11-18 Gerald Pfeifer + + * doc/xml/manual/allocator.xml: Update reference to Angelika + Langer's article. + * doc/html/manual/memory.html: Regenerate. + 2024-11-17 Jason Merrill PR libstdc++/106852 diff --git a/libvtv/ChangeLog b/libvtv/ChangeLog index c82882d6b93..162e77147cc 100644 --- a/libvtv/ChangeLog +++ b/libvtv/ChangeLog @@ -1,3 +1,8 @@ +2024-11-18 David Malcolm + + * testsuite/lib/libvtv.exp: Add + "load_gcc_lib dg-test-cleanup.exp". + 2024-09-02 Alex Coplan * testsuite/lib/libvtv.exp: Load scanltrans.exp instead of