aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog241
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/analyzer/ChangeLog129
-rw-r--r--gcc/cp/ChangeLog83
-rw-r--r--gcc/fortran/ChangeLog7
-rw-r--r--gcc/po/ChangeLog8
-rw-r--r--gcc/testsuite/ChangeLog184
-rw-r--r--include/ChangeLog10
-rw-r--r--libgomp/ChangeLog27
-rw-r--r--libstdc++-v3/ChangeLog33
10 files changed, 723 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5f43198..f0c4885 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,244 @@
+2023-07-26 Xiao Zeng <zengxiao@eswincomputing.com>
+
+ * config/riscv/riscv.md: Include zicond.md
+ * config/riscv/zicond.md: New file.
+
+2023-07-26 Xiao Zeng <zengxiao@eswincomputing.com>
+
+ * common/config/riscv/riscv-common.cc: New extension.
+ * config/riscv/riscv-opts.h (MASK_ZICOND): New mask.
+ (TARGET_ZICOND): New target.
+
+2023-07-26 Carl Love <cel@us.ibm.com>
+
+ * config/rs6000/rs6000-c.cc (find_instance): Add new parameter that
+ specifies the number of built-in arguments to check.
+ (altivec_resolve_overloaded_builtin): Update calls to find_instance
+ to pass the number of built-in arguments to be checked.
+
+2023-07-26 David Faust <david.faust@oracle.com>
+
+ * config/bpf/bpf.opt (mv3-atomics): New option.
+ * config/bpf/bpf.cc (bpf_option_override): Handle it here.
+ * config/bpf/bpf.h (enum_reg_class): Add R0 class.
+ (REG_CLASS_NAMES): Likewise.
+ (REG_CLASS_CONTENTS): Likewise.
+ (REGNO_REG_CLASS): Handle R0.
+ * config/bpf/bpf.md (UNSPEC_XADD): Rename to UNSPEC_AADD.
+ (UNSPEC_AAND): New unspec.
+ (UNSPEC_AOR): Likewise.
+ (UNSPEC_AXOR): Likewise.
+ (UNSPEC_AFADD): Likewise.
+ (UNSPEC_AFAND): Likewise.
+ (UNSPEC_AFOR): Likewise.
+ (UNSPEC_AFXOR): Likewise.
+ (UNSPEC_AXCHG): Likewise.
+ (UNSPEC_ACMPX): Likewise.
+ (atomic_add<mode>): Use UNSPEC_AADD and atomic type attribute.
+ Move to...
+ * config/bpf/atomic.md: ...Here. New file.
+ * config/bpf/constraints.md (t): New constraint for R0.
+ * doc/invoke.texi (eBPF Options): Document -mv3-atomics.
+
+2023-07-26 Matthew Malcomson <matthew.malcomson@arm.com>
+
+ * tree-vect-stmts.cc (get_group_load_store_type): Reformat
+ comment.
+
+2023-07-26 Carl Love <cel@us.ibm.com>
+
+ * config/rs6000/rs6000-builtins.def: Rename
+ __builtin_altivec_vreplace_un_uv2di as __builtin_altivec_vreplace_un_udi
+ __builtin_altivec_vreplace_un_uv4si as __builtin_altivec_vreplace_un_usi
+ __builtin_altivec_vreplace_un_v2df as __builtin_altivec_vreplace_un_df
+ __builtin_altivec_vreplace_un_v2di as __builtin_altivec_vreplace_un_di
+ __builtin_altivec_vreplace_un_v4sf as __builtin_altivec_vreplace_un_sf
+ __builtin_altivec_vreplace_un_v4si as __builtin_altivec_vreplace_un_si.
+ Rename VREPLACE_UN_UV2DI as VREPLACE_UN_UDI, VREPLACE_UN_UV4SI as
+ VREPLACE_UN_USI, VREPLACE_UN_V2DF as VREPLACE_UN_DF,
+ VREPLACE_UN_V2DI as VREPLACE_UN_DI, VREPLACE_UN_V4SF as
+ VREPLACE_UN_SF, VREPLACE_UN_V4SI as VREPLACE_UN_SI.
+ Rename vreplace_un_v2di as vreplace_un_di, vreplace_un_v4si as
+ vreplace_un_si, vreplace_un_v2df as vreplace_un_df,
+ vreplace_un_v2di as vreplace_un_di, vreplace_un_v4sf as
+ vreplace_un_sf, vreplace_un_v4si as vreplace_un_si.
+ * config/rs6000/rs6000-c.cc (find_instance): Add case
+ RS6000_OVLD_VEC_REPLACE_UN.
+ * config/rs6000/rs6000-overload.def (__builtin_vec_replace_un):
+ Fix first argument type. Rename VREPLACE_UN_UV4SI as
+ VREPLACE_UN_USI, VREPLACE_UN_V4SI as VREPLACE_UN_SI,
+ VREPLACE_UN_UV2DI as VREPLACE_UN_UDI, VREPLACE_UN_V2DI as
+ VREPLACE_UN_DI, VREPLACE_UN_V4SF as VREPLACE_UN_SF,
+ VREPLACE_UN_V2DF as VREPLACE_UN_DF.
+ * config/rs6000/vsx.md (REPLACE_ELT): Rename the mode_iterator
+ REPLACE_ELT_V for vector modes.
+ (REPLACE_ELT): New scalar mode iterator.
+ (REPLACE_ELT_char): Add scalar attributes.
+ (vreplace_un_<mode>): Change iterator and mode attribute.
+
+2023-07-26 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/104940
+ * Makefile.in (ANALYZER_OBJS): Add analyzer/symbol.o.
+
+2023-07-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/106081
+ * tree-vect-slp.cc (vect_optimize_slp_pass::start_choosing_layouts):
+ Assign layout -1 to splats.
+
+2023-07-26 Aldy Hernandez <aldyh@redhat.com>
+
+ * range-op-mixed.h (class operator_cast): Add update_bitmask.
+ * range-op.cc (operator_cast::update_bitmask): New.
+ (operator_cast::fold_range): Call update_bitmask.
+
+2023-07-26 Li Xu <xuli1@eswincomputing.com>
+
+ * config/riscv/riscv-vector-builtins.def (vfloat16mf4x2_t): Change
+ scalar type to float16, eliminate warning.
+ (vfloat16mf4x3_t): Ditto.
+ (vfloat16mf4x4_t): Ditto.
+ (vfloat16mf4x5_t): Ditto.
+ (vfloat16mf4x6_t): Ditto.
+ (vfloat16mf4x7_t): Ditto.
+ (vfloat16mf4x8_t): Ditto.
+ (vfloat16mf2x2_t): Ditto.
+ (vfloat16mf2x3_t): Ditto.
+ (vfloat16mf2x4_t): Ditto.
+ (vfloat16mf2x5_t): Ditto.
+ (vfloat16mf2x6_t): Ditto.
+ (vfloat16mf2x7_t): Ditto.
+ (vfloat16mf2x8_t): Ditto.
+ (vfloat16m1x2_t): Ditto.
+ (vfloat16m1x3_t): Ditto.
+ (vfloat16m1x4_t): Ditto.
+ (vfloat16m1x5_t): Ditto.
+ (vfloat16m1x6_t): Ditto.
+ (vfloat16m1x7_t): Ditto.
+ (vfloat16m1x8_t): Ditto.
+ (vfloat16m2x2_t): Ditto.
+ (vfloat16m2x3_t): Ditto.
+ (vfloat16m2x4_t): Ditto.
+ (vfloat16m4x2_t): Ditto.
+ * config/riscv/vector-iterators.md: add RVVM4x2DF in iterator V4T.
+ * config/riscv/vector.md: add tuple mode in attr sew.
+
+2023-07-26 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/110762
+ * config/i386/i386.md (plusminusmult): New code iterator.
+ * config/i386/mmx.md (mmxdoublevecmode): New mode attribute.
+ (movq_<mode>_to_sse): New expander.
+ (<plusminusmult:insn>v2sf3): Macroize expander from addv2sf3,
+ subv2sf3 and mulv2sf3 using plusminusmult code iterator. Rewrite
+ as a wrapper around V4SFmode operation.
+ (mmx_addv2sf3): Change operand 1 and operand 2 predicates to
+ nonimmediate_operand.
+ (*mmx_addv2sf3): Remove SSE alternatives. Change operand 1 and
+ operand 2 predicates to nonimmediate_operand.
+ (mmx_subv2sf3): Change operand 2 predicate to nonimmediate_operand.
+ (mmx_subrv2sf3): Change operand 1 predicate to nonimmediate_operand.
+ (*mmx_subv2sf3): Remove SSE alternatives. Change operand 1 and
+ operand 2 predicates to nonimmediate_operand.
+ (mmx_mulv2sf3): Change operand 1 and operand 2 predicates to
+ nonimmediate_operand.
+ (*mmx_mulv2sf3): Remove SSE alternatives. Change operand 1 and
+ operand 2 predicates to nonimmediate_operand.
+ (divv2sf3): Rewrite as a wrapper around V4SFmode operation.
+ (<smaxmin:code>v2sf3): Ditto.
+ (mmx_<smaxmin:code>v2sf3): Change operand 1 and operand 2
+ predicates to nonimmediate_operand.
+ (*mmx_<smaxmin:code>v2sf3): Remove SSE alternatives. Change
+ operand 1 and operand 2 predicates to nonimmediate_operand.
+ (mmx_ieee_<ieee_maxmin>v2sf3): Ditto.
+ (sqrtv2sf2): Rewrite as a wrapper around V4SFmode operation.
+ (*mmx_haddv2sf3_low): Ditto.
+ (*mmx_hsubv2sf3_low): Ditto.
+ (vec_addsubv2sf3): Ditto.
+ (*mmx_maskcmpv2sf3_comm): Remove.
+ (*mmx_maskcmpv2sf3): Remove.
+ (vec_cmpv2sfv2si): Rewrite as a wrapper around V4SFmode operation.
+ (vcond<V2FI:mode>v2sf): Ditto.
+ (fmav2sf4): Ditto.
+ (fmsv2sf4): Ditto.
+ (fnmav2sf4): Ditto.
+ (fnmsv2sf4): Ditto.
+ (fix_truncv2sfv2si2): Ditto.
+ (fixuns_truncv2sfv2si2): Ditto.
+ (mmx_fix_truncv2sfv2si2): Remove SSE alternatives.
+ Change operand 1 predicate to nonimmediate_operand.
+ (floatv2siv2sf2): Rewrite as a wrapper around V4SFmode operation.
+ (floatunsv2siv2sf2): Ditto.
+ (mmx_floatv2siv2sf2): Remove SSE alternatives.
+ Change operand 1 predicate to nonimmediate_operand.
+ (nearbyintv2sf2): Rewrite as a wrapper around V4SFmode operation.
+ (rintv2sf2): Ditto.
+ (lrintv2sfv2si2): Ditto.
+ (ceilv2sf2): Ditto.
+ (lceilv2sfv2si2): Ditto.
+ (floorv2sf2): Ditto.
+ (lfloorv2sfv2si2): Ditto.
+ (btruncv2sf2): Ditto.
+ (roundv2sf2): Ditto.
+ (lroundv2sfv2si2): Ditto.
+ (*mmx_roundv2sf2): Remove.
+
+2023-07-26 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * config/bpf/bpf.md: Fix neg{SI,DI}2 insn.
+
+2023-07-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/110799
+ * tree-ssa-pre.cc (compute_avail): More thoroughly match
+ up TBAA behavior of redundant loads.
+
+2023-07-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/110755
+ * range-op-float.cc (frange_arithmetic): Change +0 result to -0
+ for PLUS_EXPR or MINUS_EXPR if -frounding-math, inf is negative and
+ it is exact op1 + (-op1) or op1 - op1.
+
+2023-07-26 Kewen Lin <linkw@linux.ibm.com>
+
+ PR target/110741
+ * config/rs6000/vsx.md (define_insn xxeval): Correct vsx
+ operands output with "x".
+
+2023-07-26 Aldy Hernandez <aldyh@redhat.com>
+
+ * range-op.cc (class operator_absu): Add update_bitmask.
+ (operator_absu::update_bitmask): New.
+
+2023-07-26 Aldy Hernandez <aldyh@redhat.com>
+
+ * range-op-mixed.h (class operator_abs): Add update_bitmask.
+ * range-op.cc (operator_abs::update_bitmask): New.
+
+2023-07-26 Aldy Hernandez <aldyh@redhat.com>
+
+ * range-op-mixed.h (class operator_bitwise_not): Add update_bitmask.
+ * range-op.cc (operator_bitwise_not::update_bitmask): New.
+
+2023-07-26 Aldy Hernandez <aldyh@redhat.com>
+
+ * range-op.cc (update_known_bitmask): Handle unary operators.
+
+2023-07-26 Aldy Hernandez <aldyh@redhat.com>
+
+ * tree-ssa-ccp.cc (bit_value_unop): Initialize val when appropriate.
+
+2023-07-26 Jin Ma <jinma@linux.alibaba.com>
+
+ * config/riscv/riscv.md: Likewise.
+
+2023-07-26 Jan Hubicka <jh@suse.cz>
+
+ * profile-count.cc (profile_count::to_sreal_scale): Value is not know
+ if we divide by zero.
+
2023-07-25 David Faust <david.faust@oracle.com>
* config/bpf/bpf.cc (bpf_print_operand_address): Don't print
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 1f31718..0c421bbb 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20230726
+20230727
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
index fe0c628..254719d 100644
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@ -1,3 +1,132 @@
+2023-07-26 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/104940
+ * region-model-manager.cc
+ (region_model_manager::region_model_manager): Update for
+ generalizing region ids to also cover svalues.
+ (region_model_manager::get_or_create_constant_svalue): Likewise.
+ (region_model_manager::get_or_create_unknown_svalue): Likewise.
+ (region_model_manager::create_unique_svalue): Likewise.
+ (region_model_manager::get_or_create_initial_value): Likewise.
+ (region_model_manager::get_or_create_setjmp_svalue): Likewise.
+ (region_model_manager::get_or_create_poisoned_svalue): Likewise.
+ (region_model_manager::get_ptr_svalue): Likewise.
+ (region_model_manager::get_or_create_unaryop): Likewise.
+ (region_model_manager::get_or_create_binop): Likewise.
+ (region_model_manager::get_or_create_sub_svalue): Likewise.
+ (region_model_manager::get_or_create_repeated_svalue): Likewise.
+ (region_model_manager::get_or_create_bits_within): Likewise.
+ (region_model_manager::get_or_create_unmergeable): Likewise.
+ (region_model_manager::get_or_create_widening_svalue): Likewise.
+ (region_model_manager::get_or_create_compound_svalue): Likewise.
+ (region_model_manager::get_or_create_conjured_svalue): Likewise.
+ (region_model_manager::get_or_create_asm_output_svalue): Likewise.
+ (region_model_manager::get_or_create_const_fn_result_svalue):
+ Likewise.
+ (region_model_manager::get_region_for_fndecl): Likewise.
+ (region_model_manager::get_region_for_label): Likewise.
+ (region_model_manager::get_region_for_global): Likewise.
+ (region_model_manager::get_field_region): Likewise.
+ (region_model_manager::get_element_region): Likewise.
+ (region_model_manager::get_offset_region): Likewise.
+ (region_model_manager::get_sized_region): Likewise.
+ (region_model_manager::get_cast_region): Likewise.
+ (region_model_manager::get_frame_region): Likewise.
+ (region_model_manager::get_symbolic_region): Likewise.
+ (region_model_manager::get_region_for_string): Likewise.
+ (region_model_manager::get_bit_range): Likewise.
+ (region_model_manager::get_var_arg_region): Likewise.
+ (region_model_manager::get_region_for_unexpected_tree_code):
+ Likewise.
+ (region_model_manager::get_or_create_region_for_heap_alloc):
+ Likewise.
+ (region_model_manager::create_region_for_alloca): Likewise.
+ (region_model_manager::log_stats): Likewise.
+ * region-model-manager.h (region_model_manager::get_num_regions):
+ Replace with...
+ (region_model_manager::get_num_symbols): ...this.
+ (region_model_manager::alloc_region_id): Replace with...
+ (region_model_manager::alloc_symbol_id): ...this.
+ (region_model_manager::m_next_region_id): Replace with...
+ (region_model_manager::m_next_symbol_id): ...this.
+ * region-model.cc (selftest::test_get_representative_tree): Update
+ for generalizing region ids to also cover svalues.
+ (selftest::test_binop_svalue_folding): Likewise.
+ (selftest::test_state_merging): Likewise.
+ * region.cc (region::cmp_ids): Delete, in favor of
+ symbol::cmp_ids.
+ (region::region): Update for introduction of symbol base class.
+ (frame_region::get_region_for_local): Likewise.
+ (root_region::root_region): Likewise.
+ (symbolic_region::symbolic_region): Likewise.
+ * region.h: Replace include of "analyzer/complexity.h" with
+ "analyzer/symbol.h".
+ (class region): Make a subclass of symbol.
+ (region::get_id): Delete in favor of symbol::get_id.
+ (region::cmp_ids): Delete in favor of symbol::cmp_ids.
+ (region::get_complexity): Delete in favor of
+ symbol::get_complexity.
+ (region::region): Use symbol::id_t for "id" param.
+ (region::m_complexity): Move field to symbol base class.
+ (region::m_id): Likewise.
+ (space_region::space_region): Use symbol::id_t for "id" param.
+ (frame_region::frame_region): Likewise.
+ (globals_region::globals_region): Likewise.
+ (code_region::code_region): Likewise.
+ (function_region::function_region): Likewise.
+ (label_region::label_region): Likewise.
+ (stack_region::stack_region): Likewise.
+ (heap_region::heap_region): Likewise.
+ (thread_local_region::thread_local_region): Likewise.
+ (root_region::root_region): Likewise.
+ (symbolic_region::symbolic_region): Likewise.
+ (decl_region::decl_region): Likewise.
+ (field_region::field_region): Likewise.
+ (element_region::element_region): Likewise.
+ (offset_region::offset_region): Likewise.
+ (sized_region::sized_region): Likewise.
+ (cast_region::cast_region): Likewise.
+ (heap_allocated_region::heap_allocated_region): Likewise.
+ (alloca_region::alloca_region): Likewise.
+ (string_region::string_region): Likewise.
+ (bit_range_region::bit_range_region): Likewise.
+ (var_arg_region::var_arg_region): Likewise.
+ (errno_region::errno_region): Likewise.
+ (unknown_region::unknown_region): Likewise.
+ * svalue.cc (sub_svalue::sub_svalue): Add symbol::id_t param.
+ (repeated_svalue::repeated_svalue): Likewise.
+ (bits_within_svalue::bits_within_svalue): Likewise.
+ (compound_svalue::compound_svalue): Likewise.
+ * svalue.h: Replace include of "analyzer/complexity.h" with
+ "analyzer/symbol.h".
+ (class svalue): Make a subclass of symbol.
+ (svalue::get_complexity): Delete in favor of
+ symbol::get_complexity.
+ (svalue::svalue): Add symbol::id_t param. Update for new base
+ class.
+ (svalue::m_complexity): Delete in favor of
+ symbol::m_complexity.
+ (region_svalue::region_svalue): Add symbol::id_t param
+ (constant_svalue::constant_svalue): Likewise.
+ (unknown_svalue::unknown_svalue): Likewise.
+ (poisoned_svalue::poisoned_svalue): Likewise.
+ (setjmp_svalue::setjmp_svalue): Likewise.
+ (initial_svalue::initial_svalue): Likewise.
+ (unaryop_svalue::unaryop_svalue): Likewise.
+ (binop_svalue::binop_svalue): Likewise.
+ (sub_svalue::sub_svalue): Likewise.
+ (repeated_svalue::repeated_svalue): Likewise.
+ (bits_within_svalue::bits_within_svalue): Likewise.
+ (unmergeable_svalue::unmergeable_svalue): Likewise.
+ (placeholder_svalue::placeholder_svalue): Likewise.
+ (widening_svalue::widening_svalue): Likewise.
+ (compound_svalue::compound_svalue): Likewise.
+ (conjured_svalue::conjured_svalue): Likewise.
+ (asm_output_svalue::asm_output_svalue): Likewise.
+ (const_fn_result_svalue::const_fn_result_svalue): Likewise.
+ * symbol.cc: New file.
+ * symbol.h: New file.
+
2023-07-21 David Malcolm <dmalcolm@redhat.com>
PR analyzer/110455
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 1087a9f..f274877 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,86 @@
+2023-07-26 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/110566
+ PR c++/108179
+ * pt.cc (reduce_template_parm_level): Set DECL_TEMPLATE_INFO
+ on the DECL_TEMPLATE_RESULT of the new ttp.
+ (add_defaults_to_ttp): Make a copy of the original ttp's
+ DECL_TEMPLATE_RESULT, and update this copy's DECL_TEMPLATE_INFO
+ as well.
+ (coerce_template_template_parms): Make sure 'scope_args' has
+ the right amount of levels for the ttp argument.
+ (most_general_template): Handle template template parameters.
+ (rewrite_template_parm): Set DECL_TEMPLATE_RESULT on the
+ DECL_TEMPLATE_RESULT of the new ttp.
+
+2023-07-26 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/110566
+ PR c++/108179
+ * pt.cc (coerce_template_template_parms): Simplify by using
+ DECL_INNERMOST_TEMPLATE_PARMS and removing redundant asserts.
+ Always pass the parameters of the most general template to
+ coerce_template_parms.
+
+2023-07-26 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/110809
+ * pt.cc (unify) <case INTEGER_CST>: Generalize to handle
+ REAL_CST as well.
+
+2023-07-26 Marek Polacek <polacek@redhat.com>
+
+ * parser.cc (cp_parser_constant_expression): Allow non_constant_p to be
+ nullptr even when allow_non_constant_p is true. Don't call
+ _rvalue_constant_expression when not necessary. Move local variable
+ declarations closer to their first use.
+ (cp_parser_static_assert): Don't pass a dummy down to
+ cp_parser_constant_expression.
+
+2023-07-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/106310
+ * parser.cc (cp_parser_template_name): Skip non-member
+ lookup after the template keyword.
+ (cp_parser_lookup_name): Pass down template_keyword_p.
+
+2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/96630
+ PR c++/98675
+ PR c++/70331
+ * constexpr.cc (constexpr_global_ctx::is_outside_lifetime): New
+ function.
+ (constexpr_global_ctx::get_value): Don't return expired values.
+ (constexpr_global_ctx::get_value_ptr): Likewise.
+ (constexpr_global_ctx::remove_value): Mark value outside
+ lifetime.
+ (outside_lifetime_error): New function.
+ (cxx_eval_call_expression): No longer track save_exprs.
+ (cxx_eval_loop_expr): Likewise.
+ (cxx_eval_constant_expression): Add checks for outside lifetime
+ values. Remove local variables at end of bind exprs, and
+ temporaries after cleanup points.
+
+2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/110619
+ * cp-gimplify.cc (cp_genericize_r): Transform RETURN_EXPRs to
+ not return dangling pointers.
+ * cp-tree.h (RETURN_EXPR_LOCAL_ADDR_P): New flag.
+ (check_return_expr): Add a new parameter.
+ * semantics.cc (finish_return_stmt): Set flag on RETURN_EXPR
+ when referring to dangling pointer.
+ * typeck.cc (check_return_expr): Disable transformation of
+ dangling pointers, instead pass this information to caller.
+
+2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * constexpr.cc (modifying_const_object_error): Find the source
+ location of the const object's declaration.
+ (cxx_eval_constant_expression): Update input_location to the
+ location of the currently evaluated expression, if possible.
+
2023-07-25 Marek Polacek <polacek@redhat.com>
PR c++/108960
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index c590d82..1231d6b 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,10 @@
+2023-07-26 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/68569
+ * resolve.cc (check_data_variable): Do not accept strings with
+ deferred length or non-constant length in a DATA statement.
+ Reject also substrings of string variables of non-constant length.
+
2023-07-25 Tobias Burnus <tobias@codesourcery.com>
PR fortran/110725
diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog
index 1a6725d..33ee0fb 100644
--- a/gcc/po/ChangeLog
+++ b/gcc/po/ChangeLog
@@ -1,3 +1,11 @@
+2023-07-26 Joseph Myers <joseph@codesourcery.com>
+
+ * uk.po: Update.
+
+2023-07-26 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
2023-07-25 Joseph Myers <joseph@codesourcery.com>
* uk.po: Update.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8dfa805..5fcbfa4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,187 @@
+2023-07-26 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/110566
+ PR c++/108179
+ * g++.dg/cpp1z/class-deduction115.C: New test.
+ * g++.dg/template/ttp39.C: New test.
+
+2023-07-26 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/110566
+ PR c++/108179
+ * g++.dg/template/ttp38.C: New test.
+
+2023-07-26 Xiao Zeng <zengxiao@eswincomputing.com>
+
+ * gcc.target/riscv/zicond-primitiveSemantics.c: New test.
+ Co-authored-by: Philipp Tomsich <philipp.tomsich@vrull.eu>
+ Co-authored-by: Raphael Zinsly <rzinsly@ventanamicro.com>
+ Co-authored-by: Jeff Law <jlaw@ventanamicro.com>
+
+2023-07-26 Xiao Zeng <zengxiao@eswincomputing.com>
+
+ * gcc.target/riscv/attribute-20.c: New test.
+ * gcc.target/riscv/attribute-21.c: New test.
+ Co-authored-by: Philipp Tomsich <philipp.tomsich@vrull.eu>
+
+2023-07-26 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/110809
+ * g++.dg/cpp2a/nontype-float3.C: New test.
+
+2023-07-26 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/68569
+ * gfortran.dg/data_char_4.f90: Adjust expected diagnostic.
+ * gfortran.dg/data_char_5.f90: Likewise.
+ * gfortran.dg/data_char_6.f90: New test.
+
+2023-07-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/106310
+ * g++.dg/template/template-keyword4.C: New test.
+
+2023-07-26 David Faust <david.faust@oracle.com>
+
+ * gcc.target/bpf/atomic-cmpxchg-1.c: New test.
+ * gcc.target/bpf/atomic-cmpxchg-2.c: New test.
+ * gcc.target/bpf/atomic-fetch-op-1.c: New test.
+ * gcc.target/bpf/atomic-fetch-op-2.c: New test.
+ * gcc.target/bpf/atomic-fetch-op-3.c: New test.
+ * gcc.target/bpf/atomic-op-1.c: New test.
+ * gcc.target/bpf/atomic-op-2.c: New test.
+ * gcc.target/bpf/atomic-op-3.c: New test.
+ * gcc.target/bpf/atomic-xchg-1.c: New test.
+ * gcc.target/bpf/atomic-xchg-2.c: New test.
+
+2023-07-26 Matthew Malcomson <matthew.malcomson@arm.com>
+
+ * gcc.dg/vect/vect-multi-peel-gaps.c: Add `check_vect` call into
+ `main` of this testcase.
+
+2023-07-26 Carl Love <cel@us.ibm.com>
+
+ * gcc.target/powerpc/vec-replace-word-runnable.c: Renam
+ vec-replace-word-runnable_1.c.
+ * gcc.target/powerpc/vec-replace-word-runnable_1.c
+ (dg-options): add -flax-vector-conversions.
+ (vec_replace_unaligned) Fix first argument type.
+ (vresult_uchar): Fix expected results.
+ (vec_replace_unaligned): Update for loop to check uchar results.
+ Remove extra spaces in if statements. Insert missing spaces in
+ for statements.
+ * gcc.target/powerpc/vec-replace-word-runnable_2.c: New test file.
+
+2023-07-26 Uros Bizjak <ubizjak@gmail.com>
+
+ * gfortran.dg/ieee/comparisons_3.F90: Use dg-additional-options
+ instead of dg-options.
+
+2023-07-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/106081
+ * gcc.dg/vect/pr106081.c: New testcase.
+
+2023-07-26 Siddhesh Poyarekar <siddhesh@gotplt.org>
+
+ PR testsuite/110763
+ * gcc.dg/ubsan/object-size-dyn.c (dyn): New parameter RET.
+ (main): Use it.
+
+2023-07-26 Li Xu <xuli1@eswincomputing.com>
+
+ * gcc.target/riscv/rvv/base/tuple-intrinsic.c: New test.
+
+2023-07-26 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/110762
+ * gcc.target/i386/pr110762.c: New test.
+
+2023-07-26 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * gcc.target/bpf/neg-1.c: New test.
+ * gcc.target/bpf/neg-pseudoc-1.c: Likewise.
+
+2023-07-26 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/110799
+ * gcc.dg/torture/pr110799.c: New testcase.
+
+2023-07-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/110755
+ * gcc.dg/pr110755.c: New test.
+
+2023-07-26 Kewen Lin <linkw@linux.ibm.com>
+
+ PR target/110741
+ * g++.target/powerpc/pr110741.C: New test.
+
+2023-07-26 Jin Ma <jinma@linux.alibaba.com>
+
+ * gcc.target/riscv/fsflags.c: New test.
+
+2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/96630
+ PR c++/98675
+ PR c++/70331
+ * g++.dg/cpp1y/constexpr-lifetime1.C: New test.
+ * g++.dg/cpp1y/constexpr-lifetime2.C: New test.
+ * g++.dg/cpp1y/constexpr-lifetime3.C: New test.
+ * g++.dg/cpp1y/constexpr-lifetime4.C: New test.
+ * g++.dg/cpp1y/constexpr-lifetime5.C: New test.
+ * g++.dg/cpp1y/constexpr-lifetime6.C: New test.
+
+2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/110619
+ * g++.dg/cpp1y/constexpr-110619.C: New test.
+
+2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * g++.dg/cpp0x/constexpr-48089.C: Update diagnostic locations.
+ * g++.dg/cpp0x/constexpr-70323.C: Likewise.
+ * g++.dg/cpp0x/constexpr-70323a.C: Likewise.
+ * g++.dg/cpp0x/constexpr-delete2.C: Likewise.
+ * g++.dg/cpp0x/constexpr-diag3.C: Likewise.
+ * g++.dg/cpp0x/constexpr-ice20.C: Likewise.
+ * g++.dg/cpp0x/constexpr-mutable3.C: Likewise.
+ * g++.dg/cpp0x/constexpr-recursion.C: Likewise.
+ * g++.dg/cpp0x/overflow1.C: Likewise.
+ * g++.dg/cpp1y/constexpr-89285.C: Likewise.
+ * g++.dg/cpp1y/constexpr-89481.C: Likewise.
+ * g++.dg/cpp1y/constexpr-tracking-const14.C: Likewise.
+ * g++.dg/cpp1y/constexpr-tracking-const16.C: Likewise.
+ * g++.dg/cpp1y/constexpr-tracking-const18.C: Likewise.
+ * g++.dg/cpp1y/constexpr-tracking-const19.C: Likewise.
+ * g++.dg/cpp1y/constexpr-tracking-const21.C: Likewise.
+ * g++.dg/cpp1y/constexpr-tracking-const22.C: Likewise.
+ * g++.dg/cpp1y/constexpr-tracking-const3.C: Likewise.
+ * g++.dg/cpp1y/constexpr-tracking-const4.C: Likewise.
+ * g++.dg/cpp1y/constexpr-tracking-const7.C: Likewise.
+ * g++.dg/cpp1y/constexpr-union5.C: Likewise.
+ * g++.dg/cpp1y/pr68180.C: Likewise.
+ * g++.dg/cpp1z/constexpr-lambda6.C: Likewise.
+ * g++.dg/cpp1z/constexpr-lambda8.C: Likewise.
+ * g++.dg/cpp2a/bit-cast11.C: Likewise.
+ * g++.dg/cpp2a/bit-cast12.C: Likewise.
+ * g++.dg/cpp2a/bit-cast14.C: Likewise.
+ * g++.dg/cpp2a/constexpr-98122.C: Likewise.
+ * g++.dg/cpp2a/constexpr-dynamic17.C: Likewise.
+ * g++.dg/cpp2a/constexpr-init1.C: Likewise.
+ * g++.dg/cpp2a/constexpr-new12.C: Likewise.
+ * g++.dg/cpp2a/constexpr-new3.C: Likewise.
+ * g++.dg/cpp2a/constinit10.C: Likewise.
+ * g++.dg/cpp2a/is-corresponding-member4.C: Likewise.
+ * g++.dg/ext/constexpr-vla2.C: Likewise.
+ * g++.dg/ext/constexpr-vla3.C: Likewise.
+ * g++.dg/ubsan/pr63956.C: Likewise.
+
+2023-07-26 Jason Merrill <jason@redhat.com>
+
+ * lib/g++-dg.exp (g++-dg-runtest): Check for c++11_only.
+
2023-07-25 Andrew Pinski <apinski@marvell.com>
PR testsuite/110803
diff --git a/include/ChangeLog b/include/ChangeLog
index cceb75f..535d9b2 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,13 @@
+2023-07-26 Tobias Burnus <tobias@codesourcery.com>
+
+ * cuda/cuda.h (CUlimit): Add CUDA_ERROR_NOT_INITIALIZED,
+ CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_INVALID_HANDLE.
+ (CUarray, CUmemorytype, CUDA_MEMCPY2D, CUDA_MEMCPY3D,
+ CUDA_MEMCPY3D_PEER): New typdefs.
+ (cuMemcpy2D, cuMemcpy2DAsync, cuMemcpy2DUnaligned,
+ cuMemcpy3D, cuMemcpy3DAsync, cuMemcpy3DPeer,
+ cuMemcpy3DPeerAsync): New prototypes.
+
2023-06-12 Tobias Burnus <tobias@codesourcery.com>
* gomp-constants.h (enum gomp_map_kind): Change the enum values
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 5a45496..a490a89 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,30 @@
+2023-07-26 Tobias Burnus <tobias@codesourcery.com>
+
+ * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d,
+ GOMP_OFFLOAD_memcpy3d): New prototypes.
+ * libgomp.h (struct gomp_device_descr): Add memcpy2d_func
+ and memcpy3d_func.
+ * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used.
+ * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL.
+ * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned,
+ cuMemcpy3D): Invoke via CUDA_ONE_CALL.
+ * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
+ GOMP_OFFLOAD_memcpy3d): New.
+ * target.c (omp_target_memcpy_rect_worker):
+ (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy):
+ Permit all device-to-device copyies; invoke new plugins for
+ 2D and 3D copying when available.
+ (gomp_load_plugin_for_device): DLSYM the new plugin functions.
+ * testsuite/libgomp.c/target-12.c: Fix dimension bug.
+ * testsuite/libgomp.fortran/target-12.f90: Likewise.
+ * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test.
+
+2023-07-26 Tobias Burnus <tobias@codesourcery.com>
+
+ * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'.
+ (Tasking Routines): Document omp_in_explicit_task.
+ (Implementation-defined ICV Initialization): Use @ref not @code.
+
2023-07-20 Tobias Burnus <tobias@codesourcery.com>
* libgomp.texi (OpenMP Runtime Library Routines):
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 9ad9a6c..23614c2 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,36 @@
+2023-07-26 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/110807
+ * testsuite/23_containers/vector/bool/110807.cc: Require c++11.
+
+2023-07-26 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/110807
+ * include/bits/stl_bvector.h (vector(const vector&)): Access
+ iterators before allocating.
+ * include/bits/vector.tcc (vector<bool>::_M_insert_range):
+ Likewise.
+ * testsuite/23_containers/vector/bool/110807.cc: New test.
+
+2023-07-26 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/algorithmfwd.h (random_shuffle): Add deprecated
+ attribute.
+ * include/bits/stl_algo.h (random_shuffle): Correct comments.
+ * testsuite/25_algorithms/random_shuffle/1.cc: Disable
+ deprecated warnings.
+ * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise.
+ * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
+ * testsuite/25_algorithms/random_shuffle/deprecated.cc: New
+ test.
+
+2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * testsuite/25_algorithms/equal/constexpr_neg.cc: Update diagnostic
+ locations.
+ * testsuite/26_numerics/gcd/105844.cc: Likewise.
+ * testsuite/26_numerics/lcm/105844.cc: Likewise.
+
2023-07-24 Deev Patel <pateldeev@nevada.unr.edu>
* include/std/format (_Formatting_scanner::_M_on_chars): Add