+2024-07-25 Carl Love <cel@linux.ibm.com>
+
+ * config/rs6000/rs6000-builtin.cc (get_element_number,
+ altivec_expand_vec_set_builtin): Remove functions.
+ (rs6000_expand_builtin): Remove the if statement to call
+ altivec_expand_vec_set_builtin.
+ * config/rs6000/rs6000-builtins.def (__builtin_vsx_set_1ti,
+ __builtin_vsx_set_2df, __builtin_vsx_set_2di): Remove the
+ built-in definitions.
+ * config/rs6000/rs6000-gen-builtins.cc (struct attrinfo):
+ Remove the isset variable from the structure.
+ (parse_bif_attrs): Remove the uses of the isset variable.
+
+2024-07-25 Carl Love <cel@linux.ibm.com>
+
+ * config/rs6000/rs6000-builtins.def (__builtin_vec_set_v1ti,
+ __builtin_vec_set_v2df, __builtin_vec_set_v2di): Remove built-in
+ definitions.
+ * config/rs6000/rs6000-c.cc (resolve_vec_insert): Remove the
+ handling for constant vec_insert position with
+ VECTOR_UNIT_VSX_P V1TImode, V2DFmode and V2DImode modes.
+
+2024-07-25 Carl Love <cel@linux.ibm.com>
+
+ * config/rs6000/rs6000-builtins.def (__builtin_vsx_xvcmpeqsp,
+ __builtin_vsx_xvcmpgesp, __builtin_vsx_xvcmpgtsp): Remove
+ definitions.
+
+2024-07-25 Jeff Law <jlaw@ventanamicro.com>
+
+ PR rtl-optimization/116039
+ * ext-dce.cc (ext_dce_process_uses): Add some comments about concerns
+ with current code. Mark additional bit groups as live when we have
+ an extension of a suitably promoted subreg.
+
+2024-07-25 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ PR target/116033
+ * config/riscv/thead.cc (th_memidx_classify_address_modify):
+ Fix mode test.
+
+2024-07-25 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/116083
+ * tree-vect-slp.cc (vect_build_slp_tree): Do not allocate
+ a discovery fail node when we reached the discovery limit.
+ (vect_build_slp_instance): Terminate early when the
+ discovery limit is reached.
+
+2024-07-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ * doc/rtl.texi: Document the need to define INCLUDE_ARRAY before
+ including rtl-ssa.h.
+ * rtl-ssa.h: Likewise (in comment).
+ * config/aarch64/aarch64-cc-fusion.cc: Add INCLUDE_ARRAY.
+ * config/aarch64/aarch64-early-ra.cc: Likewise.
+ * config/riscv/riscv-avlprop.cc: Likewise.
+ * config/riscv/riscv-vsetvl.cc: Likewise.
+ * fwprop.cc: Likewise.
+ * late-combine.cc: Likewise.
+ * pair-fusion.cc: Likewise.
+ * rtl-ssa/accesses.cc: Likewise.
+ * rtl-ssa/blocks.cc: Likewise.
+ * rtl-ssa/changes.cc: Likewise.
+ * rtl-ssa/functions.cc: Likewise.
+ * rtl-ssa/insns.cc: Likewise.
+ * rtl-ssa/movement.cc: Likewise.
+
+2024-07-25 Sam James <sam@gentoo.org>
+
+ PR middle-end/114855
+ * doc/invoke.texi (Optimize options): Mention machine-generated
+ code for -O1.
+
+2024-07-25 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/116081
+ * tree-vect-loop.cc (get_initial_defs_for_reduction):
+ Use operand_equal_p for comparing the element with the
+ neutral op.
+
+2024-07-25 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/116079
+ * tree-ssa-loop-im.cc (hoist_memory_references): Clear
+ VDEF of elided clobbers.
+
+2024-07-25 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/116081
+ * tree-vect-stmts.cc (vect_get_vector_types_for_stmt):
+ Properly compare types.
+
+2024-07-25 Robin Dapp <rdapp@ventanamicro.com>
+
+ PR target/116036
+ * config/riscv/riscv.cc (riscv_override_options_internal): Error
+ with TARGET_VECTOR && !TARGET_MUL.
+
+2024-07-25 Juzhe-Zhong <juzhe.zhong@rivai.ai>
+
+ * config/riscv/riscv.cc (riscv_legitimize_move): Fix poly_int dest generation.
+
+2024-07-25 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR rtl-optimization/116044
+ * rtl-ssa/functions.h (function_info::split_clobber_group): Return
+ an array of two clobber_groups.
+ * rtl-ssa/accesses.cc (function_info::split_clobber_group): Return
+ the new clobber groups. Don't modify the splay tree here.
+ (function_info::add_def): Update call accordingly. Generalize
+ the splay tree insertion code so that the new definition can be
+ inserted as a child of any existing node, not just the root.
+ Fix the insertion used after calling split_clobber_group.
+
+2024-07-25 Jennifer Schmitz <jschmitz@nvidia.com>
+
+ * config/aarch64/aarch64-sve-builtins.cc
+ (gimple_folder::redirect_call): Update return type.
+ * config/aarch64/aarch64-sve-builtins.h: Likewise.
+ * config/aarch64/aarch64-sve-builtins-sve2.cc (svqshl_impl::fold):
+ Remove cast to gcall.
+ (svrshl_impl::fold): Likewise.
+
+2024-07-25 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-structalias.cc (constraint_equal): Take const
+ reference to constraints.
+ (constraint_vec_find): Similar.
+ (solve_graph): Keep constraint vector sorted and verify
+ sorting with checking.
+
+2024-07-25 Lingling Kong <lingling.kong@intel.com>
+
+ PR target/115749
+ * config/i386/x86-tune-costs.h (struct processor_costs):
+ Adjust rtx_cost of imulq and imulw for COST_N_INSNS (4)
+ to COST_N_INSNS (3).
+
2024-07-24 David Malcolm <dmalcolm@redhat.com>
* diagnostic-format-sarif.cc (sarif_builder::make_locations_arr):
+2024-07-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/115403
+ PR c++/109753
+ * decl.cc (start_preparsed_function): Only call decl_attributes for
+ artificial functions.
+
+2024-07-25 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/115897
+ * cp-tree.h (dependent_opaque_alias_p): Declare.
+ * pt.cc (push_template_decl): Manually mark a dependent opaque
+ alias or dependent alias template specialization as dependent,
+ and use structural equality for them.
+ (dependent_opaque_alias_p): Define.
+ (alias_template_specialization_p): Don't look through an
+ opaque alias.
+ (complex_alias_template_p): Use dependent_opaque_alias_p instead of
+ any_dependent_template_arguments_p directly.
+ (dependent_alias_template_spec_p): Don't look through an
+ opaque alias.
+ (get_underlying_template): Use dependent_opaque_alias_p instead of
+ any_dependent_template_arguments_p.
+ (instantiate_alias_template): Mention same logic in
+ push_template_decl.
+ (dependent_type_p_r): Remove dependent_alias_template_spec_p check.
+ (any_template_arguments_need_structural_equality_p): Return true
+ for a dependent opaque alias.
+ (alias_ctad_tweaks): Use template_args_equal instead of same_type_p
+ followed by dependent_alias_template_spec_p.
+ * tree.cc (strip_typedefs): Don't strip an opaque alias.
+ * typeck.cc (structural_comptypes): Compare declaration attributes
+ for an opaque alias.
+
+2024-07-25 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/115897
+ * tree.cc (strip_typedefs): Move up the typedef recursion case.
+ Never strip a dependent alias template-id that has dependent
+ attributes.
+
+2024-07-25 Arsen Arsenović <arsen@aarsen.me>
+
+ PR c++/110171
+ * coroutines.cc (co_await_get_resume_call): New function.
+ Returns the await_resume expression of a given co_await.
+ * cp-tree.h (co_await_get_resume_call): New function.
+ * cvt.cc (convert_to_void): Handle CO_AWAIT_EXPRs and call
+ maybe_warn_nodiscard on their resume exprs.
+
+2024-07-25 Arsen Arsenović <arsen@aarsen.me>
+
+ PR c++/111728
+ * coroutines.cc (rewrite_param_uses): Skip unevaluated
+ subexpressions.
+
2024-07-24 Jason Merrill <jason@redhat.com>
PR c++/116071
+2024-07-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/115403
+ PR c++/109753
+ * g++.dg/ext/pragma-target1.C: New test.
+
+2024-07-25 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/115897
+ * g++.dg/cpp0x/alias-decl-79.C: Remove xfails.
+ * g++.dg/cpp0x/alias-decl-79a.C: New test.
+
+2024-07-25 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/115897
+ * g++.dg/cpp0x/alias-decl-78.C: New test.
+ * g++.dg/cpp0x/alias-decl-79.C: New test.
+ * g++.dg/cpp0x/alias-decl-pr92206-1a.C: New test.
+
+2024-07-25 Carl Love <cel@linux.ibm.com>
+
+ * gcc.target/powerpc/vsx-builtin-3.c: Remove test cases for the
+ __builtin_vsx_set_2df built-in.
+
+2024-07-25 Carl Love <cel@linux.ibm.com>
+
+ * gcc.target/powerpc/vsx-builtin-3.c (do_cmp): Replace
+ __builtin_vsx_xvcmp{eq,gt,ge}{sp,dp} by vec_cmp{eq,gt,ge}
+ respectively and add explicit casts to vector {float,double}.
+ Add more testing code assigning result to vector boolean types.
+
+2024-07-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/110343
+ * c-c++-common/raw-string-1.c: Use { c || c++11 } effective target,
+ remove c++ specific dg-options.
+ * c-c++-common/raw-string-2.c: Likewise.
+ * c-c++-common/raw-string-4.c: Likewise.
+ * c-c++-common/raw-string-5.c: Likewise. Expect some diagnostics
+ only for non-c++26, for c++26 expect different.
+ * c-c++-common/raw-string-6.c: Use { c || c++11 } effective target,
+ remove c++ specific dg-options.
+ * c-c++-common/raw-string-11.c: Likewise.
+ * c-c++-common/raw-string-13.c: Likewise.
+ * c-c++-common/raw-string-14.c: Likewise.
+ * c-c++-common/raw-string-15.c: Use { c || c++11 } effective target,
+ change c++ specific dg-options to just -Wtrigraphs.
+ * c-c++-common/raw-string-16.c: Likewise.
+ * c-c++-common/raw-string-17.c: Use { c || c++11 } effective target,
+ remove c++ specific dg-options.
+ * c-c++-common/raw-string-18.c: Use { c || c++11 } effective target,
+ remove -std=c++11 from c++ specific dg-options.
+ * c-c++-common/raw-string-19.c: Likewise.
+ * g++.dg/cpp26/raw-string1.C: New test.
+ * g++.dg/cpp26/raw-string2.C: New test.
+
+2024-07-25 Jeff Law <jlaw@ventanamicro.com>
+
+ PR rtl-optimization/116039
+ * gcc.dg/torture/pr116039.c: New test.
+
+2024-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libfortran/105361
+ * gfortran.dg/pr105361.f90: New test.
+
+2024-07-25 Christoph Müllner <christoph.muellner@vrull.eu>
+
+ PR target/116033
+ * gcc.target/riscv/pr116033.c: New test.
+
+2024-07-25 Arsen Arsenović <arsen@aarsen.me>
+
+ PR c++/110171
+ * g++.dg/coroutines/pr110171-1.C: New test.
+ * g++.dg/coroutines/pr110171.C: New test.
+
+2024-07-25 Arsen Arsenović <arsen@aarsen.me>
+
+ PR c++/111728
+ * g++.dg/coroutines/pr111728.C: New test.
+
+2024-07-25 Jeff Law <jlaw@ventanamicro.com>
+
+ * gcc.dg/torture/pr116037.c: Fix target selector.
+
+2024-07-25 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/116079
+ * gcc.dg/torture/pr116079.c: New testcase.
+
+2024-07-25 Robin Dapp <rdapp@ventanamicro.com>
+
+ * gcc.target/riscv/arch-31.c: Add m to arch string and expect it.
+ * gcc.target/riscv/arch-32.c: Ditto.
+ * gcc.target/riscv/arch-37.c: Ditto.
+ * gcc.target/riscv/arch-38.c: Ditto.
+ * gcc.target/riscv/predef-14.c: Ditto.
+ * gcc.target/riscv/predef-15.c: Ditto.
+ * gcc.target/riscv/predef-16.c: Ditto.
+ * gcc.target/riscv/predef-26.c: Ditto.
+ * gcc.target/riscv/predef-27.c: Ditto.
+ * gcc.target/riscv/predef-32.c: Ditto.
+ * gcc.target/riscv/predef-33.c: Ditto.
+ * gcc.target/riscv/predef-36.c: Ditto.
+ * gcc.target/riscv/predef-37.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/pr111486.c: Add m to arch string.
+ * gcc.target/riscv/compare-debug-1.c: Ditto.
+ * gcc.target/riscv/compare-debug-2.c: Ditto.
+ * gcc.target/riscv/rvv/base/pr116036.c: New test.
+
+2024-07-25 Juzhe-Zhong <juzhe.zhong@rivai.ai>
+
+ * gcc.target/riscv/rvv/autovec/poly_licm-1.c: New test.
+ * gcc.target/riscv/rvv/autovec/poly_licm-2.c: New test.
+ * gcc.target/riscv/rvv/autovec/poly_licm-3.c: New test.
+
+2024-07-25 Lingling Kong <lingling.kong@intel.com>
+
+ * gcc.target/i386/pr115749.c: New test.
+
2024-07-24 David Malcolm <dmalcolm@redhat.com>
* c-c++-common/diagnostic-format-sarif-file-Wbidi-chars.c: Verify
+2024-07-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/110343
+ * lex.cc: C++26 P2558R2 - Add @, $, and ` to the basic character set.
+ (lex_raw_string): For C++26 allow $@` characters in prefix.
+ * charset.cc (_cpp_valid_ucn): For C++26 reject \u0024 in identifiers.
+
2024-07-24 David Malcolm <dmalcolm@redhat.com>
* include/rich-location.h
+2024-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libfortran/105361
+ * io/list_read.c (finish_list_read): Add a condition check for
+ a user defined derived type IO operation to avoid calling the
+ EOF error.
+
2024-07-11 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/96992
+2024-07-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/expected (expected::value): Add assertions for LWG
+ 3843 requirements.
+ (expected<cv void, E>::value): Add assertions for LWG 3940
+ requirements.
+
+2024-07-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/format (basic_format_args): Remove default
+ constructor, as per LWG 4106.
+ * testsuite/std/format/arguments/args.cc: Check it isn't default
+ constructible.
+
+2024-07-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/utility.h (_Swallow_assign): Make assignment
+ constexpr for C++11 as well, and add noexcept.
+ * include/std/tuple (_Swallow_assign, ignore): Move to
+ bits/utility.h.
+ * testsuite/20_util/headers/utility/ignore.cc: New test.
+
+2024-07-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/optional: Reorder parameters in comparison
+ operators as per LWG 2945.
+
+2024-07-25 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/116038
+ * include/std/functional (_Bind_front::operator()): Use __like_t
+ instead of std::forward when forwarding __self.
+ (_Bind_back::operator()): Likewise.
+ * include/std/ranges (_Partial::operator()): Likewise.
+ (_Pipe::operator()): Likewise.
+ * testsuite/20_util/function_objects/bind_back/116038.cc: New test.
+ * testsuite/20_util/function_objects/bind_front/116038.cc: New test.
+ * testsuite/std/ranges/adaptors/116038.cc: New test.
+
+2024-07-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/expected (bad_expected_access<void>): Add noexcept
+ to special member functions, as per LWG 4031.
+ * testsuite/20_util/expected/bad.cc: Check for nothrow copy and
+ move members.
+
+2024-07-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/optional (optional): Use C++20 features to
+ simplify overload sets for constructors and assignment
+ operators.
+
+2024-07-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/optional (optional): Constrain constructors to
+ prevent problematic bool conversions, as per LWG 3836.
+ * testsuite/20_util/optional/cons/lwg3836.cc: New test.
+
+2024-07-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/expected (expected): Constrain constructors to
+ prevent problematic bool conversions, as per LWG 3836.
+ * testsuite/20_util/expected/lwg3836.cc: New test.
+
+2024-07-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/optional (_Optional_payload_base::_Storage)
+ [C++20]: Define constrained non-trivial destructor.
+ (_Optional_payload_base::_Storage<U, false>) [C++20]: Do not
+ define partial specialization when primary template has
+ constrained destructor.
+ (_Optional_base) [C++20]: Define constrained trivial copy and
+ move cons and move constructors. Define payload accessors here
+ instead of inheriting them from _Optional_base_impl.
+ (_Optional_base_impl, _Optional_base<T, false, true>)
+ (_Optional_base<T, true, false>, _Optional_base<T, true, true>)
+ [C++20]: Do not define.
+
+2024-07-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/optional (optional): Add using-declaraction for
+ _Base::_M_get and declare optional<U> as friend.
+ (optional(const optional<U>&)): Use
+ _M_get instead of operator*.
+ (optional(optional<U>&&)): Likewise.
+ (operator=(const optional<U>&)): Likewise.
+ (operator=(optional<U>&&)): Likewise.
+ (and_then, tansform): Likewise.
+
+2024-07-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/optional (_Optional_base_impl::_M_get()): Move
+ assertions to ...
+ (optional::operator->, optional::operator*): ... here.
+
+2024-07-25 Andrew Pinski <quic_apinski@quicinc.com>
+
+ * testsuite/lib/libstdc++.exp (v3_target_compile): Call
+ string trim on v3_target_compile before calling split.
+
2024-07-24 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/116070