+2025-07-15 David Malcolm <dmalcolm@redhat.com>
+
+ * spellcheck.cc: Define INCLUDE_ALGORITHM.
+ (CASE_COST, BASE_COST): Convert to...
+ (case_cost, base_cost): ...these, in an anonymous namespace.
+ (get_edit_distance): Update for above. Use std::min rather than
+ MIN.
+ (get_edit_distance_cutoff): Likewise. Use std::max rather than
+ MAX.
+ (selftest::test_edit_distances): Update for BASE_COST renaming.
+ (selftest::get_old_cutoff): Likewise. Use std::max.
+ (selftest::assert_not_suggested_for): Use nullptr.
+ (selftest::test_find_closest_string): Likewise.
+ * spellcheck.h: Replace TYPE with StringLikeType in templates,
+ and use CamelCase.
+
+2025-07-15 David Malcolm <dmalcolm@redhat.com>
+
+ PR sarif-replay/120792
+ * auto-obstack.h: New file, based on material taken from
+ pretty-print.cc.
+ * diagnostic-digraphs.h
+ (diagnostics::digraphs::digraph::set_description): New.
+ (diagnostics::digraphs::node::set_label): New.
+ * doc/libgdiagnostics/topics/compatibility.rst: Add
+ LIBGDIAGNOSTICS_ABI_4.
+ * doc/libgdiagnostics/topics/diagnostics.rst
+ (diagnostic_finish_via_msg_buf): Document new entrypoint.
+ * doc/libgdiagnostics/topics/execution-paths.rst
+ (diagnostic_execution_path_add_event_via_msg_buf): Document new
+ entrypoint.
+ * doc/libgdiagnostics/topics/index.rst: Add message-buffers.rst.
+ * doc/libgdiagnostics/topics/message-buffers.rst: New file.
+ * doc/libgdiagnostics/topics/message-formatting.rst: Add note
+ about message buffers.
+ * doc/libgdiagnostics/topics/physical-locations.rst
+ (diagnostic_add_location_with_label_via_msg_buf): Add.
+ * doc/libgdiagnostics/tutorial/07-execution-paths.rst: Link to
+ next section.
+ * doc/libgdiagnostics/tutorial/08-message-buffers.rst: New file.
+ * doc/libgdiagnostics/tutorial/index.rst: Add
+ 08-message-buffers.rst.
+ * libgdiagnostics++.h (libgdiagnostics::message_buffer): New
+ class.
+ (libgdiagnostics::execution_path::add_event_via_msg_buf): New.
+ (libgdiagnostics::diagnostic::add_location_with_label): New.
+ (libgdiagnostics::diagnostic::finish_via_msg_buf): New.
+ (libgdiagnostics::graph::set_description): New overload.
+ (libgdiagnostics::graph::add_edge): New overload.
+ (libgdiagnostics::node::set_label): New overload.
+ * libgdiagnostics-private.h
+ (private_diagnostic_execution_path_add_event_2): Drop decl.
+ (private_diagnostic_execution_path_add_event_3): New decl.
+ * libgdiagnostics.cc: Include "pretty-print-format-impl.h",
+ "pretty-print-markup.h", and "auto-obstack.h".
+ (class copying_token_printer): New.
+ (struct diagnostic_message_buffer): New.
+ (class pp_element_message_buffer): New.
+ (libgdiagnostics_path_event::libgdiagnostics_path_event): Replace
+ params "gmsgid" and "args" with "msg_buf".
+ (libgdiagnostics_path_event::print_desc): Reimplement using
+ pp_element_message_buffer to replay m_msg_buf into "pp".
+ (libgdiagnostics_path_event::m_desc_uncolored): Drop field.
+ (libgdiagnostics_path_event::m_desc_colored): Drop field.
+ (libgdiagnostics_path_event::msg_buf): New field.
+ (diagnostic_execution_path::add_event_va): Reimplement.
+ (diagnostic_execution_path::add_event_via_msg_buf): New.
+ (diagnostic::add_location_with_label): New overload, using
+ msg_buf.
+ (diagnostic_manager::emit): Reimplement with...
+ (diagnostic_manager::emit_va): ...this.
+ (diagnostic_manager::emit_msg_buf): New.
+ (FAIL_IF_NULL): Rename "p" to "ptr_arg".
+ (diagnostic_finish_va): Update to use diagnostic_manager::emit_va.
+ (diagnostic_graph::add_node_with_id): Rename "id" to "node_id".
+ (diagnostic_graph_add_node): Likewise.
+ (diagnostic_graph_add_edge): Rename "id" to "edge_id".
+ (diagnostic_graph_get_node_by_id): Rename "id" to "node_id".
+ (diagnostic_graph_get_edge_by_id): Rename "id" to "edge_id".
+ (private_diagnostic_execution_path_add_event_2): Delete.
+ (diagnostic_message_buffer_new): New public entrypoint.
+ (diagnostic_message_buffer_release): Likewise.
+ (diagnostic_message_buffer_append_str): Likewise.
+ (diagnostic_message_buffer_append_text): Likewise.
+ (diagnostic_message_buffer_append_byte): Likewise.
+ (diagnostic_message_buffer_append_printf): Likewise.
+ (diagnostic_message_buffer_append_event_id): Likewise.
+ (diagnostic_message_buffer_begin_url): Likewise.
+ (diagnostic_message_buffer_end_url): Likewise.
+ (diagnostic_message_buffer_begin_quote): Likewise.
+ (diagnostic_message_buffer_end_quote): Likewise.
+ (diagnostic_message_buffer_begin_color): Likewise.
+ (diagnostic_message_buffer_end_color): Likewise.
+ (diagnostic_message_buffer_dump): Likewise.
+ (diagnostic_finish_via_msg_buf): Likewise.
+ (diagnostic_add_location_with_label_via_msg_buf): Likewise.
+ (diagnostic_execution_path_add_event_via_msg_buf): Likewise.
+ (diagnostic_graph_set_description_via_msg_buf): Likewise.
+ (diagnostic_graph_add_edge_via_msg_buf): Likewise.
+ (diagnostic_node_set_label_via_msg_buf): Likewise.
+ (private_diagnostic_execution_path_add_event_3): New private
+ entrypoint.
+ * libgdiagnostics.h (LIBGDIAGNOSTICS_PARAM_FORMAT_STRING): New macro.
+ (LIBGDIAGNOSTICS_PARAM_PRINTF_FORMAT_STRING): New macro.
+ (diagnostic_message_buffer): New typedef.
+ (LIBDIAGNOSTICS_HAVE_diagnostic_message_buffer): New define.
+ (diagnostic_message_buffer_new): New decl.
+ (diagnostic_message_buffer_release): New decl.
+ (diagnostic_message_buffer_append_str): New decl.
+ (diagnostic_message_buffer_append_text): New decl.
+ (diagnostic_message_buffer_append_byte): New decl.
+ (diagnostic_message_buffer_append_printf): New decl.
+ (diagnostic_message_buffer_append_event_id): New decl.
+ (diagnostic_message_buffer_begin_url): New decl.
+ (diagnostic_message_buffer_end_url): New decl.
+ (diagnostic_message_buffer_begin_quote): New decl.
+ (diagnostic_message_buffer_end_quote): New decl.
+ (diagnostic_message_buffer_begin_color): New decl.
+ (diagnostic_message_buffer_end_color): New decl.
+ (diagnostic_message_buffer_dump): New decl.
+ (diagnostic_finish_via_msg_buf): New decl.
+ (diagnostic_add_location_with_label_via_msg_buf): New decl.
+ (diagnostic_execution_path_add_event_via_msg_buf): New decl.
+ (diagnostic_graph_set_description_via_msg_buf): New decl.
+ (diagnostic_graph_add_edge_via_msg_buf): New decl.
+ (diagnostic_node_set_label_via_msg_buf): New decl.
+ * libgdiagnostics.map (LIBGDIAGNOSTICS_ABI_3): Drop
+ private_diagnostic_execution_path_add_event_2.
+ (LIBGDIAGNOSTICS_ABI_4): New.
+ * libsarifreplay.cc (class annotation): Use
+ libgdiagnostics::message_buffer rather than label_text.
+ (add_any_annotations): Likewise.
+ (sarif_replayer::handle_result_obj): Likewise.
+ (make_plain_text_within_result_message): Likewise.
+ (handle_thread_flow_location_object): Likewise.
+ (handle_location_object): Likewise.
+ (sarif_replayer::handle_graph_object): Likewise.
+ (sarif_replayer::handle_node_object): Likewise.
+ (sarif_replayer::handle_edge_object): Likewise.
+ * pretty-print-format-impl.h (pp_token_list::push_back_byte): New
+ decl.
+ * pretty-print-markup.h (pp_markup::context::begin_url): New decl.
+ (pp_markup::context::end_url): New decl.
+ (pp_markup::context::add_event_id): New decl.
+ * pretty-print.cc: Include "auto-obstack.h".
+ (pp_token_list::push_back_byte): New.
+ (struct auto_obstack): Move to auto-obstack.h.
+ (default_token_printer): Make non-static.
+ (pp_markup::context::begin_url): New.
+ (pp_markup::context::end_url): New.
+ (pp_markup::context::add_event_id): New.
+
+2025-07-15 Umesh Kalappa <ukalappa.mips@gmail.com>
+
+ * config/riscv/riscv-cores.def (RISCV_CORE): Updated the supported march.
+ * config/riscv/riscv-ext-mips.def (DEFINE_RISCV_EXT):
+ New file added for mips conditional mov extension.
+ * config/riscv/riscv-ext.def: Likewise.
+ * config/riscv/t-riscv: Generates riscv-ext.opt
+ * config/riscv/riscv-ext.opt: Generated file.
+ * config/riscv/riscv.cc (riscv_expand_conditional_move): Updated for mips cmov
+ and outlined some code that handle arch cond move.
+ * config/riscv/riscv.md (mov<mode>cc): updated expand for MIPS CCMOV.
+ * config/riscv/mips-insn.md: New file for mips-p8700 ccmov insn.
+ * doc/riscv-ext.texi: Updated for mips cmov.
+
+2025-07-15 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu>
+
+ * avoid-store-forwarding.cc (generate_bit_insert_sequence):
+ Remove adjustment of bitfield insertion's starting position
+ when BYTES_BIG_ENDIAN != BITS_BIG_ENDIAN.
+ (process_store_forwarding): Update offset check in base reg
+ initialization to take into account the target's endianness.
+
+2025-07-15 Soumya AR <soumyaa@nvidia.com>
+
+ * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION):
+ Add AVOID_LDAPUR tuning flag.
+ * config/aarch64/aarch64.cc (aarch64_adjust_generic_arch_tuning):
+ Set AVOID_LDAPUR for architectures before armv8.8-a.
+ (aarch64_override_options_internal): Apply generic tuning adjustments
+ to generic_armv8_a_tunings and generic_armv9_a_tunings.
+ * config/aarch64/aarch64.h (TARGET_ENABLE_LDAPUR): New macro to
+ control LDAPUR usage based on RCPC2 and tuning flags.
+ * config/aarch64/aarch64.md: Add enable_ldapur attribute.
+ * config/aarch64/atomics.md (aarch64_atomic_load<mode>_rcpc): Modify
+ to emit LDAPUR for cores with RCPC2.
+ (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): Likewise.
+ (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): Update constraint to Ust.
+ * config/aarch64/tuning_models/cortexx925.h: Add AVOID_LDAPUR flag.
+ * config/aarch64/tuning_models/neoversev2.h: Likewise.
+ * config/aarch64/tuning_models/neoversev3.h: Likewise.
+ * config/aarch64/tuning_models/neoversev3ae.h: Likewise.
+
+2025-07-15 Richard Biener <rguenther@suse.de>
+ Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/121059
+ * tree-vect-stmts.cc (vectorizable_operation): Query
+ scalar_cond_masked_set with the correct number of masks.
+
+2025-07-15 Jakub Jelinek <jakub@redhat.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c/44677
+ * common.opt (Wunused-but-set-parameter=, Wunused-but-set-variable=):
+ New options.
+ (Wunused-but-set-parameter, Wunused-but-set-variable): Turn into
+ aliases.
+ * common.opt.urls: Regenerate.
+ * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Use
+ OPT_Wunused_but_set_variable_ instead of OPT_Wunused_but_set_variable
+ and OPT_Wunused_but_set_parameter_ instead of
+ OPT_Wunused_but_set_parameter.
+ * gimple-ssa-store-merging.cc (find_bswap_or_nop_1): Remove unused
+ but set variable tmp.
+ * ipa-strub.cc (pass_ipa_strub::execute): Cast named_args to
+ (void) if ATTR_FNSPEC_DECONST_WATERMARK is not defined.
+ * doc/invoke.texi (Wunused-but-set-parameter=,
+ Wunused-but-set-variable=): Document new options.
+ (Wunused-but-set-parameter, Wunused-but-set-variable): Adjust
+ documentation now that they are just aliases.
+
+2025-07-15 Alfie Richards <alfie.richards@arm.com>
+
+ * config/aarch64/aarch64-sme.md (@aarch64_sme_<faminmax_uns_op><mode>):
+ Change gating and comment.
+
+2025-07-15 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ Revert:
+ 2025-07-11 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * config/aarch64/aarch64-simd.md (*eor3qdi4): New
+ define_insn_and_split.
+
+2025-07-15 Spencer Abson <spencer.abson@arm.com>
+
+ * config/aarch64/aarch64-sve.md (*fcm<cmp_op><mode>_and_combine):
+ Extend from SVE_FULL_F to SVE_F.
+ (*fcmuo<mode>_and_combine): Likewise.
+ (*fcm<cmp_op><mode>_bic_combine): Likewise.
+ (*fcm<cmp_op><mode>_nor_combine): Likewise.
+ (*fcmuo<mode>_bic_combine): Likewise.
+ (*fcmuo<mode>_nor_combine): Likewise. Move the comment here to
+ above fcmuo<mode>_bic_combine, since it applies to both patterns.
+
+2025-07-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * tree.cc: Include memmodel.h.
+
2025-07-14 Andrew Stubbs <ams@baylibre.com>
* config/gcn/gcn-valu.md (vec_cmpu<mode>di_exec): Call gen_vec_cmp*,
+2025-07-15 Jakub Jelinek <jakub@redhat.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c/44677
+ * c-opts.cc (c_common_post_options): Change
+ warn_unused_but_set_parameter and warn_unused_but_set_variable
+ from 1 to 3 if they were set only implicitly.
+ * c-attribs.cc (build_attr_access_from_parms): Remove unused
+ but set variable nelts.
+
2025-07-11 Jakub Jelinek <jakub@redhat.com>
PR c++/119064
+2025-07-15 Jakub Jelinek <jakub@redhat.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c/44677
+ * c-parser.cc (c_parser_unary_expression): Clear DECL_READ_P
+ after default_function_array_read_conversion for
+ -Wunused-but-set-{parameter,variable}={2,3} on
+ PRE{IN,DE}CREMENT_EXPR argument.
+ (c_parser_postfix_expression_after_primary): Similarly for
+ POST{IN,DE}CREMENT_EXPR.
+ * c-decl.cc (pop_scope): Use OPT_Wunused_but_set_variable_
+ instead of OPT_Wunused_but_set_variable.
+ (finish_function): Use OPT_Wunused_but_set_parameter_
+ instead of OPT_Wunused_but_set_parameter.
+ * c-typeck.cc (mark_exp_read): Handle {PRE,POST}{IN,DE}CREMENT_EXPR
+ and don't handle it when cast to void.
+ (build_modify_expr): Clear DECL_READ_P after build_binary_op
+ for -Wunused-but-set-{parameter,variable}=3.
+
2025-07-10 Qing Zhao <qing.zhao@oracle.com>
* c-typeck.cc (build_access_with_size_for_counted_by): Update comments.
+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.
+2025-07-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/44677
+ * cp-gimplify.cc (cp_fold) [CLEANUP_POINT_EXPR]: Don't force rvalue.
+ [COMPOUND_EXPR]: Likewise.
+ * cvt.cc (convert_to_void): Call mark_exp_read later.
+ * expr.cc (mark_use): Turn off read_p for any void argument.
+ (mark_exp_read): Return early for void argument.
+
+2025-07-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/120577
+ * constexpr.cc (cxx_eval_call_expression): Set
+ CONSTRUCTOR_NO_CLEARING on initial value for ctor.
+ (cxx_eval_component_reference): Make value-initialization
+ of an aggregate member explicit.
+
+2025-07-15 Jakub Jelinek <jakub@redhat.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c/44677
+ * cp-gimplify.cc (cp_fold): Clear DECL_READ_P on lhs of MODIFY_EXPR
+ after cp_fold_rvalue if it wasn't set before.
+ * decl.cc (poplevel): Use OPT_Wunused_but_set_variable_
+ instead of OPT_Wunused_but_set_variable.
+ (finish_function): Use OPT_Wunused_but_set_parameter_
+ instead of OPT_Wunused_but_set_parameter.
+ * expr.cc (mark_use): Clear read_p for {PRE,POST}{IN,DE}CREMENT_EXPR
+ cast to void on {VAR,PARM}_DECL for
+ -Wunused-but-set-{parameter,variable}={2,3}.
+ (mark_exp_read): Handle {PRE,POST}{IN,DE}CREMENT_EXPR and don't handle
+ it when cast to void.
+ * module.cc (trees_in::fn_parms_fini): Remove unused but set variable
+ ix.
+ * semantics.cc (finish_unary_op_expr): Return early for
+ PRE{IN,DE}CREMENT_EXPR.
+ * typeck.cc (cp_build_unary_op): Clear DECL_READ_P
+ after mark_lvalue_use for -Wunused-but-set-{parameter,variable}={2,3}
+ on PRE{IN,DE}CREMENT_EXPR argument.
+ (cp_build_modify_expr): Clear DECL_READ_P after cp_build_binary_op
+ for -Wunused-but-set-{parameter,variable}=3.
+
2025-07-11 Jakub Jelinek <jakub@redhat.com>
PR c++/119064
+2025-07-15 Kwok Cheung Yeung <kcyeung@baylibre.com>
+
+ PR fortran/104428
+ * trans-openmp.cc (gfc_trans_omp_declare_variant): Check that proc_st
+ is non-NULL before dereferencing. Add line number to error message.
+
+2025-07-15 Mikael Morin <mikael@gcc.gnu.org>
+
+ * gfortran.h (gfc_symbol): Remove field allocated_in_scope.
+ * trans-array.cc (gfc_array_allocate): Don't set it.
+ (gfc_alloc_allocatable_for_assignment): Likewise.
+ Generate the unallocated descriptor bounds initialisation
+ before the opening of the reallocation code block. Create a
+ variable and use it as additional condition to the unallocated
+ descriptor bounds initialisation.
+
+2025-07-15 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.cc (gfc_conv_ss_descriptor): Don't evaluate
+ offset and data to a variable if is_alloc_lhs is set. Move the
+ existing evaluation decision condition for data...
+ (save_descriptor_data): ... here as a new predicate.
+ (evaluate_bound): Add argument save_value. Omit the evaluation
+ of the value to a variable if that argument isn't set.
+ (gfc_conv_expr_descriptor): Update caller.
+ (gfc_conv_section_startstride): Update caller. Set save_value
+ if is_alloc_lhs is not set. Omit the evaluation of stride to a
+ variable if save_value isn't set.
+ (gfc_set_delta): Omit the evaluation of delta to a variable
+ if is_alloc_lhs is set.
+ (gfc_is_reallocatable_lhs): Return false if flag_realloc_lhs
+ isn't set.
+ (gfc_alloc_allocatable_for_assignment): Don't update
+ the variables that may be stored in saved_offset, delta, and
+ data. Call instead...
+ (update_reallocated_descriptor): ... this new procedure.
+ * trans-expr.cc (gfc_trans_assignment_1): Don't omit setting the
+ is_alloc_lhs flag if the right hand side is an intrinsic
+ function. Clear the flag if the right hand side is scalar.
+
+2025-07-15 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-expr.cc (gfc_trans_assignment_1): Generate array
+ reallocation code before entering the scalarisation loops.
+
+2025-07-15 Filip Kastl <fkastl@suse.cz>
+
+ * resolve.cc (resolve_select_type): Fix indentation.
+
2025-07-12 Tobias Burnus <tburnus@baylibre.com>
* invoke.texi (-Wsurprising): Note about OpenACC warning
+2025-07-15 Jakub Jelinek <jakub@redhat.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c/44677
+ * gofrontend/gogo.cc (Function::export_func_with_type): Remove
+ unused but set variable i.
+
2025-02-05 Ian Lance Taylor <iant@golang.org>
PR go/118746
+2025-07-15 David Malcolm <dmalcolm@redhat.com>
+
+ PR sarif-replay/120792
+ * libgdiagnostics.dg/sarif.py: Delete duplicate script.
+ * libgdiagnostics.dg/test-message-buffer-c.py: New test script.
+ * libgdiagnostics.dg/test-message-buffer.c: New test.
+ * libgdiagnostics.dg/test-warning-with-path-c.py: Update expected
+ output to reflect that SARIF for event messages now contains JSON
+ pointers when referring to other events by ID.
+ * sarif-replay.dg/2.1.0-valid/3.11.6-embedded-links.sarif: Add
+ HTML and SARIF output, and call out to Python scripts to verify
+ the output. Add example of a result with a link in its message.
+ * sarif-replay.dg/2.1.0-valid/embedded-links-check-html.py: New
+ test script.
+ * sarif-replay.dg/2.1.0-valid/embedded-links-check-sarif-roundtrip.py:
+ New test script.
+
+2025-07-15 Umesh Kalappa <ukalappa.mips@gmail.com>
+
+ * gcc.target/riscv/mipscondmov.c: Test file for mips.ccmov insn.
+
+2025-07-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/120577
+ * g++.dg/cpp2a/constexpr-union9.C: New test.
+
+2025-07-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/117784
+ * g++.dg/cpp26/decomp25.C: Add -fno-implicit-constexpr.
+
+2025-07-15 Kwok Cheung Yeung <kcyeung@baylibre.com>
+
+ PR fortran/104428
+ * gfortran.dg/gomp/pr104428.f90: New.
+
+2025-07-15 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu>
+
+ * gcc.target/aarch64/avoid-store-forwarding-be.c: New test.
+
+2025-07-15 Soumya AR <soumyaa@nvidia.com>
+
+ * gcc.target/aarch64/ldapr-sext.c: Update expected output to include
+ offsets.
+ * gcc.target/aarch64/ldapur.c: New test for LDAPUR.
+ * gcc.target/aarch64/ldapur_avoid.c: New test for AVOID_LDAPUR flag.
+
+2025-07-15 Richard Biener <rguenther@suse.de>
+ Richard Sandiford <richard.sandiford@arm.com>
+
+ PR tree-optimization/121059
+ * gcc.dg/vect/pr121059.c: New testcase.
+
+2025-07-15 Jakub Jelinek <jakub@redhat.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c/44677
+ * c-c++-common/Wunused-parm-1.c: New test.
+ * c-c++-common/Wunused-parm-2.c: New test.
+ * c-c++-common/Wunused-parm-3.c: New test.
+ * c-c++-common/Wunused-parm-4.c: New test.
+ * c-c++-common/Wunused-parm-5.c: New test.
+ * c-c++-common/Wunused-parm-6.c: New test.
+ * c-c++-common/Wunused-var-7.c (bar, baz): Expect warning on a.
+ * c-c++-common/Wunused-var-19.c: New test.
+ * c-c++-common/Wunused-var-20.c: New test.
+ * c-c++-common/Wunused-var-21.c: New test.
+ * c-c++-common/Wunused-var-22.c: New test.
+ * c-c++-common/Wunused-var-23.c: New test.
+ * c-c++-common/Wunused-var-24.c: New test.
+ * g++.dg/cpp26/name-independent-decl1.C (foo): Expect one
+ set but not used warning.
+ * g++.dg/warn/Wunused-parm-12.C: New test.
+ * g++.dg/warn/Wunused-parm-13.C: New test.
+ * g++.dg/warn/Wunused-var-2.C (f2): Expect set but not used warning
+ on parameter x and variable a.
+ * g++.dg/warn/Wunused-var-40.C: New test.
+ * g++.dg/warn/Wunused-var-41.C: New test.
+ * gcc.dg/memchr-3.c (test_find): Change return type from void to int,
+ and add return n; statement.
+ * gcc.dg/unused-9.c (g): Move dg-bogus to the correct line and expect
+ a warning on i.
+
+2025-07-15 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ Revert:
+ 2025-07-15 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * gcc.target/aarch64/simd/eor3_d.c: Add tests for DImode operands.
+
+2025-07-15 Spencer Abson <spencer.abson@arm.com>
+
+ * gcc.target/aarch64/sve/unpacked_fcm_combines_1.c: New test.
+ * gcc.target/aarch64/sve/unpacked_fcm_combines_2.c: Likewise.
+
2025-07-14 Richard Biener <rguenther@suse.de>
Revert:
+2025-07-15 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * bid_binarydecimal.c (__mul_10x256_to_256): Mark c3 as being
+ used.
+
2025-05-15 liuhongt <hongtao.liu@intel.com>
* bid128_string.c (MIN_DIGITS): New macro.
+2025-07-15 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/move.h (swap): Replace enable_if with concepts
+ when available, and with __enable_if_t alias otherwise.
+
+2025-07-15 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/ranges_base.h (ranges::advance(i, n, bound)):
+ Ensure that observable side effects on iterators match what is
+ specified in the standard.
+
+2025-07-15 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/119962
+ * include/std/ranges (join_view::_Iterator::_M_outer): Initialize.
+ (lazy_split_view::_OuterIter::_M_current): Initialize.
+ (join_with_view::_Iterator::_M_outer_it): Initialize.
+ * testsuite/std/ranges/adaptors/join.cc (test15): New test.
+ * testsuite/std/ranges/adaptors/join_with/1.cc (test05): New test.
+ * testsuite/std/ranges/adaptors/lazy_split.cc (test13): New test.
+
+2025-07-15 Björn Schäpers <bjoern@hazardy.de>
+
+ PR libstdc++/108409
+ * scripts/gen_windows_zones_map.py: New file, generates
+ windows_zones-map.h.
+ * src/c++20/windows_zones-map.h: New file, contains the look up
+ table.
+ * src/c++20/tzdb.cc (tzdb::current_zone): Add Windows code path.
+
+2025-07-15 Björn Schäpers <bjoern@hazardy.de>
+
+ * src/c++20/tzdb.cc (zoneinfo_file): On Windows look relative
+ from the DLL path for the time zone information.
+
+2025-07-15 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/25_algorithms/copy/debug/constexpr_neg.cc:
+ * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
+ * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
+ * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
+ * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
+ * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
+ * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
+ * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
+ * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
+
+2025-07-15 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/121024
+ * include/bits/ranges_uninitialized.h (ranges::destroy): Do not
+ optimize away trivial destructors during constant evaluation.
+ (ranges::destroy_n): Likewise.
+ * testsuite/20_util/specialized_algorithms/destroy/121024.cc:
+ New test.
+
+2025-07-15 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/memory (swap, make_observer_ptr): Add
+ constexpr.
+ (operator==, operator!=, operator<, operator>, operator<=)
+ (operator>=): Likewise.
+ * testsuite/experimental/memory/observer_ptr/make_observer.cc:
+ Checks for constant evaluation.
+ * testsuite/experimental/memory/observer_ptr/relops/relops.cc:
+ Likewise.
+ * testsuite/experimental/memory/observer_ptr/swap/swap.cc:
+ Likewise.
+
+2025-07-15 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/type_traits (__make_unsigned_selector): Add
+ unsigned __int128 to type list.
+ * testsuite/20_util/make_unsigned/int128.cc: New test.
+
+2025-07-15 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/96710
+ * include/bits/functional_hash.h (hash<__int128>): Define for
+ strict modes.
+ (hash<unsigned __int128>): Likewise.
+ * testsuite/20_util/hash/int128.cc: New test.
+
+2025-07-15 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/110739
+ * include/bits/chrono_io.h (__formatter_chrono::_S_weekdays)
+ (__formatter_chrono::_S_months, __formatter_chrono::_S_fill_ampm):
+ Define.
+ (__formatter_chrono::_M_format_to): Do not pass context parameter
+ to functions listed below.
+ (__formatter_chrono::_M_a_A, __formatter_chrono::_M_b_B): Implement
+ using harcoded list of names, and remove format context parameter.
+ (__formatter_chrono::_M_p, __formatter_chrono::_M_r): Implement
+ using _S_fill_ampm.
+ (__formatter_chrono::_M_c): Removed format context parameter.
+ (__formatter_chrono::_M_subsecs): Call __ctx.locale() directly,
+ instead of _M_locale and do not compare with locale::classic().
+ Add [[unlikely]] attributes.
+ (__formatter_chrono::_M_locale): Move to __formatter_duration.
+ (__formatter_duration::_M_locale): Moved from __formatter_chrono.
+
2025-07-14 Jonathan Wakely <jwakely@redhat.com>
* include/bits/stl_pair.h (swap): Add comment to deleted