From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2168) id 58962385782C; Tue, 3 Aug 2021 07:49:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 58962385782C MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" From: GCC Administrator To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r12-2683] Daily bump. X-Act-Checkin: gcc X-Git-Author: GCC Administrator X-Git-Refname: refs/heads/master X-Git-Oldrev: e4604715716879c2bc53f7838c25f9730144e63f X-Git-Newrev: 4d17ca1bc74109e5cc4ef34890b6293c4bcb1d6a Message-Id: <20210803074950.58962385782C@sourceware.org> Date: Tue, 3 Aug 2021 07:49:50 +0000 (GMT) X-BeenThere: libstdc++-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Aug 2021 07:49:50 -0000 https://gcc.gnu.org/g:4d17ca1bc74109e5cc4ef34890b6293c4bcb1d6a commit r12-2683-g4d17ca1bc74109e5cc4ef34890b6293c4bcb1d6a Author: GCC Administrator Date: Tue Aug 3 07:49:16 2021 +0000 Daily bump. Diff: --- contrib/ChangeLog | 5 + gcc/ChangeLog | 375 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/analyzer/ChangeLog | 30 ++++ gcc/c-family/ChangeLog | 13 ++ gcc/cp/ChangeLog | 90 ++++++++++++ gcc/d/ChangeLog | 98 +++++++++++++ gcc/po/ChangeLog | 13 ++ gcc/testsuite/ChangeLog | 375 ++++++++++++++++++++++++++++++++++++++++++++++++ libgomp/ChangeLog | 32 +++++ libstdc++-v3/ChangeLog | 65 +++++++++ 11 files changed, 1097 insertions(+), 1 deletion(-) diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 4999204a344..693c6ac915b 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,8 @@ +2021-08-03 Martin Liska + + * gcc-changelog/git_update_version.py: Ignore problematic + commit. + 2021-07-20 Richard Earnshaw * vimrc (textwidth): Change non-gitcommit length to 79. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 98eef36c198..0421ff451a6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,378 @@ +2021-08-03 Kewen Lin + + * tree-cfg.c (move_sese_region_to_fn): Fix typos on dloop. + +2021-08-03 liuhongt + + * config/i386/sse.md (cond_):New expander. + (cond_mul): Ditto. + (cond_div): Ditto. + +2021-08-02 H.J. Lu + + * config/i386/i386.c (ix86_finalize_stack_frame_flags): Also + check stack_realign_needed for stack realignment. + (ix86_legitimate_constant_p): Always allow CONST_WIDE_INT smaller + than the largest integer supported by vector register. + * config/i386/i386.h (MAX_MOVE_MAX): New. Set to 64. + (MOVE_MAX): Set to bytes of the largest integer supported by + vector register. + (STORE_MAX_PIECES): New. + +2021-08-02 H.J. Lu + + * config/i386/i386-expand.c (ix86_expand_vector_move): Call + ix86_gen_scratch_sse_rtx to get a scratch SSE register to copy + data from one memory location to another. + +2021-08-02 H.J. Lu + + PR middle-end/90773 + * config/i386/i386.c (TARGET_GEN_MEMSET_SCRATCH_RTX): New. + +2021-08-02 Aldy Hernandez + + PR tree-optimization/101724 + * params.opt: Remove --param=threader-iterative. + * tree-ssa-threadbackward.c (pass_thread_jumps::execute): Remove + iterative mode. + +2021-08-02 Tom de Vries + + PR middle-end/101665 + * doc/extend.texi (nonnull attribute): Improve documentation. + +2021-08-02 Andrew Pinski + + PR rtl-optimization/101683 + * rtlanal.c (may_trap_p_1): Handle UNSIGNED_FIX. + +2021-08-02 Roger Sayle + + * tree-ssa-phiopt.c (cond_removal_in_builtin_zero_pattern): + Renamed from cond_removal_in_popcount_clz_ctz_pattern. + Add support for BSWAP, FFS, PARITY and CLRSB builtins. + (tree_ssa_phiop_worker): Update call to function above. + +2021-08-01 H.J. Lu + + PR target/78103 + * config/i386/i386.md (bsr_rex64_1_zext): New. + (combine splitter for constant - clzll): Replace gen_bsr_rex64_1 + with gen_bsr_rex64_1_zext. + +2021-07-31 Jakub Jelinek + + PR target/78103 + * config/i386/i386.md (bsr_rex64_1, bsr_1, bsr_zext_1): New + define_insn patterns. + (*bsr_rex64_2, *bsr_2): New define_insn_and_split patterns. + Add combine splitters for constant - clz. + (clz2): Use a temporary pseudo for bsr result. + +2021-07-30 Paul A. Clarke + + * config/rs6000/smmintrin.h (_mm_floor_pd, _mm_floor_ps, + _mm_floor_sd, _mm_floor_ss): New. + +2021-07-30 Paul A. Clarke + + * config/rs6000/smmintrin.h (_mm_ceil_pd, _mm_ceil_ps, + _mm_ceil_sd, _mm_ceil_ss): New. + +2021-07-30 Paul A. Clarke + + * config/rs6000/smmintrin.h (_mm_blend_pd, _mm_blendv_pd, + _mm_blend_ps, _mm_blendv_ps): New. + +2021-07-30 Roger Sayle + Uroš Bizjak + + * config/i386/i386.md (*dec_cmov): New define_insn_and_split + to generate a conditional move using the carry flag after sub $1. + (peephole2): Eliminate a register-to-register move by inverting + the condition of a conditional move. + +2021-07-30 Hans-Peter Nilsson + + * config/mmix/mmix.md ("call", "call_value", "*call_real") + ("*call_value_real"): Don't generate rtx mentioning the generic + operands 1 and 2 to "call", and similarly for "call_value". + * config/mmix/mmix.c (mmix_print_operand_punct_valid_p) + (mmix_print_operand): Use '!' instead of 'p'. + +2021-07-30 Hans-Peter Nilsson + + * doc/md.texi (call): Correct information about operand 2. + * config/mmix/mmix.md ("call", "call_value"): Remove fixed FIXMEs. + +2021-07-30 Andrew MacLeod + + * range-op.cc (operator_trunc_mod::wi_fold): Fold constants. + +2021-07-30 Andrew MacLeod + + * range-op.cc (operator_div::wi_fold): Return UNDEFINED for [0, 0] divisor. + +2021-07-30 Andrew MacLeod + + * gimple-range-cache.cc (*::set_bb_range): Change const basic_block to + const_basic_block.. + (*::get_bb_range): Ditto. + (*::bb_range_p): Ditto. + * gimple-range-cache.h: Change prototypes. + +2021-07-30 H.J. Lu + + PR middle-end/90773 + * builtins.c (builtin_memcpy_read_str): Change the mode argument + from scalar_int_mode to fixed_size_mode. + (builtin_strncpy_read_str): Likewise. + (gen_memset_value_from_prev): New function. + (builtin_memset_read_str): Change the mode argument from + scalar_int_mode to fixed_size_mode. Use gen_memset_value_from_prev + and support CONST_VECTOR. + (builtin_memset_gen_str): Likewise. + (try_store_by_multiple_pieces): Use by_pieces_constfn to declare + constfun. + * builtins.h (builtin_strncpy_read_str): Replace scalar_int_mode + with fixed_size_mode. + (builtin_memset_read_str): Likewise. + * expr.c (widest_int_mode_for_size): Renamed to ... + (widest_fixed_size_mode_for_size): Add a bool argument to + indicate if QI vector mode can be used. + (by_pieces_ninsns): Call widest_fixed_size_mode_for_size + instead of widest_int_mode_for_size. + (pieces_addr::adjust): Change the mode argument from + scalar_int_mode to fixed_size_mode. + (op_by_pieces_d): Make m_len read-only. Add a bool member, + m_qi_vector_mode, to indicate that QI vector mode can be used. + (op_by_pieces_d::op_by_pieces_d): Add a bool argument to + initialize m_qi_vector_mode. Call widest_fixed_size_mode_for_size + instead of widest_int_mode_for_size. + (op_by_pieces_d::get_usable_mode): Change the mode argument from + scalar_int_mode to fixed_size_mode. Call + widest_fixed_size_mode_for_size instead of + widest_int_mode_for_size. + (op_by_pieces_d::smallest_fixed_size_mode_for_size): New member + function to return the smallest integer or QI vector mode. + (op_by_pieces_d::run): Call widest_fixed_size_mode_for_size + instead of widest_int_mode_for_size. Call + smallest_fixed_size_mode_for_size instead of + smallest_int_mode_for_size. + (store_by_pieces_d::store_by_pieces_d): Add a bool argument to + indicate that QI vector mode can be used and pass it to + op_by_pieces_d::op_by_pieces_d. + (can_store_by_pieces): Call widest_fixed_size_mode_for_size + instead of widest_int_mode_for_size. Pass memsetp to + widest_fixed_size_mode_for_size to support QI vector mode. + Allow all CONST_VECTORs for memset if vec_duplicate is supported. + (store_by_pieces): Pass memsetp to + store_by_pieces_d::store_by_pieces_d. + (clear_by_pieces_1): Removed. + (clear_by_pieces): Replace clear_by_pieces_1 with + builtin_memset_read_str and pass true to store_by_pieces_d to + support vector mode broadcast. + (string_cst_read_str): Change the mode argument from + scalar_int_mode to fixed_size_mode. + * expr.h (by_pieces_constfn): Change scalar_int_mode to + fixed_size_mode. + (by_pieces_prev): Likewise. + * rtl.h (lowpart_subreg_regno): New. + * rtlanal.c (lowpart_subreg_regno): New. A wrapper around + simplify_subreg_regno. + * target.def (gen_memset_scratch_rtx): New hook. + * doc/tm.texi.in: Add TARGET_GEN_MEMSET_SCRATCH_RTX. + * doc/tm.texi: Regenerated. + +2021-07-30 Xi Ruoyao + + PR target/94780 + * config/mips/mips.c (mips_atomic_assign_expand_fenv): Use + TARGET_EXPR instead of MODIFY_EXPR. + +2021-07-30 Xi Ruoyao + + PR target/101132 + * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Declare. + * config/mips/mips.c (mips_expand_vec_cmp_expr): New function. + * config/mips/mips-msa.md (vec_cmp): New + expander. + (vec_cmpu): New expander. + +2021-07-30 H.J. Lu + + PR target/101685 + * config/i386/i386-options.c (ix86_option_override_internal): + Don't enable LZCNT/POPCNT if they have been disabled explicitly. + +2021-07-30 prathamesh.kulkarni + + PR target/66791 + * config/arm/arm_neon.h (vld1_p64): Replace call to builtin by + explicitly dereferencing __a. + (vld1_s64): Likewise. + (vld1_u64): Likewise. + * config/arm/arm_neon_builtins.def (vld1): Remove entry for di + and change to VAR13. + +2021-07-30 Aldy Hernandez + + * gimple-loop-versioning.cc (lv_dom_walker::lv_dom_walker): Remove + use of m_range_analyzer. + (loop_versioning::lv_dom_walker::before_dom_children): Same. + (loop_versioning::lv_dom_walker::after_dom_children): Remove. + (loop_versioning::prune_loop_conditions): Replace vr_values use + with range_query interface. + (pass_loop_versioning::execute): Use ranger. + +2021-07-30 Xi Ruoyao + + PR ipa/101396 + * ipa-devirt.c (ipa_odr_read_section): Compare the precision of + enum values, and emit a warning if they mismatch. + +2021-07-30 Kewen Lin + + * cfgloop.h (as_const): New function. + (class loop_iterator): Rename to ... + (class loops_list): ... this. + (loop_iterator::next): Rename to ... + (loops_list::Iter::fill_curr_loop): ... this and adjust. + (loop_iterator::loop_iterator): Rename to ... + (loops_list::loops_list): ... this and adjust. + (loops_list::Iter): New class. + (loops_list::iterator): New type. + (loops_list::const_iterator): New type. + (loops_list::begin): New function. + (loops_list::end): Likewise. + (loops_list::begin const): Likewise. + (loops_list::end const): Likewise. + (FOR_EACH_LOOP): Remove. + (FOR_EACH_LOOP_FN): Remove. + * cfgloop.c (flow_loops_dump): Adjust FOR_EACH_LOOP* with range-based + for loop with loops_list instance. + (sort_sibling_loops): Likewise. + (disambiguate_loops_with_multiple_latches): Likewise. + (verify_loop_structure): Likewise. + * cfgloopmanip.c (create_preheaders): Likewise. + (force_single_succ_latches): Likewise. + * config/aarch64/falkor-tag-collision-avoidance.c + (execute_tag_collision_avoidance): Likewise. + * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Likewise. + * config/s390/s390.c (s390_adjust_loops): Likewise. + * doc/loop.texi: Likewise. + * gimple-loop-interchange.cc (pass_linterchange::execute): Likewise. + * gimple-loop-jam.c (tree_loop_unroll_and_jam): Likewise. + * gimple-loop-versioning.cc (loop_versioning::analyze_blocks): Likewise. + (loop_versioning::make_versioning_decisions): Likewise. + * gimple-ssa-split-paths.c (split_paths): Likewise. + * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl): Likewise. + * graphite.c (canonicalize_loop_form): Likewise. + (graphite_transform_loops): Likewise. + * ipa-fnsummary.c (analyze_function_body): Likewise. + * ipa-pure-const.c (analyze_function): Likewise. + * loop-doloop.c (doloop_optimize_loops): Likewise. + * loop-init.c (loop_optimizer_finalize): Likewise. + (fix_loop_structure): Likewise. + * loop-invariant.c (calculate_loop_reg_pressure): Likewise. + (move_loop_invariants): Likewise. + * loop-unroll.c (decide_unrolling): Likewise. + (unroll_loops): Likewise. + * modulo-sched.c (sms_schedule): Likewise. + * predict.c (predict_loops): Likewise. + (pass_profile::execute): Likewise. + * profile.c (branch_prob): Likewise. + * sel-sched-ir.c (sel_finish_pipelining): Likewise. + (sel_find_rgns): Likewise. + * tree-cfg.c (replace_loop_annotate): Likewise. + (replace_uses_by): Likewise. + (move_sese_region_to_fn): Likewise. + * tree-if-conv.c (pass_if_conversion::execute): Likewise. + * tree-loop-distribution.c (loop_distribution::execute): Likewise. + * tree-parloops.c (parallelize_loops): Likewise. + * tree-predcom.c (tree_predictive_commoning): Likewise. + * tree-scalar-evolution.c (scev_initialize): Likewise. + (scev_reset): Likewise. + * tree-ssa-dce.c (find_obviously_necessary_stmts): Likewise. + * tree-ssa-live.c (remove_unused_locals): Likewise. + * tree-ssa-loop-ch.c (ch_base::copy_headers): Likewise. + * tree-ssa-loop-im.c (analyze_memory_references): Likewise. + (tree_ssa_lim_initialize): Likewise. + * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): Likewise. + * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Likewise. + * tree-ssa-loop-manip.c (get_loops_exits): Likewise. + * tree-ssa-loop-niter.c (estimate_numbers_of_iterations): Likewise. + (free_numbers_of_iterations_estimates): Likewise. + * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise. + * tree-ssa-loop-split.c (tree_ssa_split_loops): Likewise. + * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Likewise. + * tree-ssa-loop.c (gate_oacc_kernels): Likewise. + (pass_scev_cprop::execute): Likewise. + * tree-ssa-propagate.c (clean_up_loop_closed_phi): Likewise. + * tree-ssa-sccvn.c (do_rpo_vn): Likewise. + * tree-ssa-threadupdate.c + (jump_thread_path_registry::thread_through_all_blocks): Likewise. + * tree-vectorizer.c (vectorize_loops): Likewise. + * tree-vrp.c (vrp_asserts::find_assert_locations): Likewise. + +2021-07-29 Hans-Peter Nilsson + + * config/mmix/mmix.c (mmix_function_arg_1): Avoid + generating a VOIDmode register for e.g the + function_arg_info::end_marker. + +2021-07-29 Jeff Law + + * config/h8300/h8300-modes.def: Add CCZ, CCV and CCC, drop CCZNV. + * config/h8300/h8300.md (H8cc mode iterator): Add CCZ. + (cc mode_attr): Similarly. + (ccz subst_attr): Similarly. + * config/h8300/jumpcall.md: Add new patterns for branch-on-bit. + * config/h8300/testcompare.md: Remove various cc0 based patterns + that had been commented out. Add pattern to set CCZ from a bit + test. + +2021-07-29 Thomas Schwinge + Julian Brown + Kwok Cheung Yeung + + * omp-offload.c (oacc_loop_xform_head_tail, oacc_loop_process): + 'update_stmt' after modification. + (pass_oacc_loop_designation): New function, extracted out of... + (pass_oacc_device_lower): ... this. + (pass_data_oacc_loop_designation, pass_oacc_loop_designation) + (make_pass_oacc_loop_designation): New + * passes.def: Add it. + * tree-parloops.c (create_parallel_loop): Adjust. + * tree-pass.h (make_pass_oacc_loop_designation): New. + +2021-07-29 Andreas Krebbel + + * target.def: in0 and in1 do not need to be registers. + * doc/tm.texi: Regenerate. + +2021-07-29 liuhongt + + PR target/39821 + * config/i386/i386.c (ix86_widen_mult_cost): New function. + (ix86_add_stmt_cost): Use ix86_widen_mult_cost for + WIDEN_MULT_EXPR. + +2021-07-29 Jiufu Guo + + PR target/61837 + * config/rs6000/rs6000.c (TARGET_PREFERRED_DOLOOP_MODE): New hook. + (rs6000_preferred_doloop_mode): New hook. + * doc/tm.texi: Regenerate. + * doc/tm.texi.in: Add hook preferred_doloop_mode. + * target.def (preferred_doloop_mode): New hook. + * targhooks.c (default_preferred_doloop_mode): New hook. + * targhooks.h (default_preferred_doloop_mode): New hook. + * tree-ssa-loop-ivopts.c (compute_doloop_base_on_mode): New function. + (add_iv_candidate_for_doloop): Call targetm.preferred_doloop_mode + and compute_doloop_base_on_mode. + 2021-07-28 Martin Sebor PR middle-end/101494 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 15aac4430a7..d34783f87b1 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20210729 +20210803 diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index bc0f4bd92e8..2da5aae58ff 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,33 @@ +2021-07-29 Ankur Saini + + * call-string.cc (call_string::element_t::operator==): New operator. + (call_String::element_t::operator!=): New operator. + (call_string::element_t::get_caller_function): New function. + (call_string::element_t::get_callee_function): New function. + (call_string::call_string): Refactor to Initialise m_elements. + (call_string::operator=): Refactor to work with m_elements. + (call_string::operator==): Likewise. + (call_string::to_json): Likewise. + (call_string::hash): Refactor to hash e.m_caller. + (call_string::push_call): Refactor to work with m_elements. + (call_string::push_call): New overload to push call via supernodes. + (call_string::pop): Refactor to work with m_elements. + (call_string::calc_recursion_depth): Likewise. + (call_string::cmp): Likewise. + (call_string::validate): Likewise. + (call_string::operator[]): Likewise. + * call-string.h (class supernode): New forward decl. + (struct call_string::element_t): New struct. + (call_string::call_string): Refactor to initialise m_elements. + (call_string::bool empty_p): Refactor to work with m_elements. + (call_string::get_callee_node): New decl. + (call_string::get_caller_node): New decl. + (m_elements): Replaces m_return_edges. + * program-point.cc (program_point::get_function_at_depth): Refactor to + work with new call-string format. + (program_point::validate): Likewise. + (program_point::on_edge): Likewise. + 2021-07-28 David Malcolm * region-model.cc (region_model::on_call_pre): Treat diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 10a8bf44edf..7306b3637fc 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,16 @@ +2021-07-30 Jakub Jelinek + + PR c++/101539 + * c-common.h (enum rid): Add RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF. + * c-common.c (c_common_reswords): Add + __is_pointer_interconvertible_base_of. + +2021-07-29 Richard Biener + + PR c/101512 + * c-common.c (c_common_mark_addressable_vec): Look through + C_MAYBE_CONST_EXPR even if not at the toplevel. + 2021-07-27 Martin Sebor PR c/101585 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 27323bb0151..5468792778d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,93 @@ +2021-08-02 Patrick Palka + + PR c++/100828 + * logic.cc (formula::formula): Use emplace_back instead of + push_back. + (formula::branch): Insert a copy of m_current directly after + m_current instead of at the end of the list. + (formula::erase): Define. + (decompose_formula): Remove. + (decompose_antecedents): Remove. + (decompose_consequents): Remove. + (derive_proofs): Remove. + (max_problem_size): Remove. + (diagnose_constraint_size): Remove. + (subsumes_constraints_nonnull): Rewrite directly in terms of + decompose_clause and derive_proof, interleaving decomposition + with implication checking. Remove limit on constraint complexity. + Use formula::erase to free the current clause before moving on to + the next one. + +2021-07-31 Jason Merrill + + PR c++/96636 + * decl.c (fixup_anonymous_aggr): Clear TYPE_NEEDS_CONSTRUCTING + after error. + +2021-07-31 Jason Merrill + + * ptree.c (cxx_print_type) [TYPE_PACK_EXPANSION]: Also print + PACK_EXPANSION_PATTERN. + +2021-07-31 Jakub Jelinek + + * parser.c (cp_parser_declaration): Handle OpenMP directives + in attribute-declaration. + +2021-07-30 Jakub Jelinek + + PR c++/101539 + * cp-tree.h (enum cp_trait_kind): Add + CPTK_IS_POINTER_INTERCONVERTIBLE_BASE_OF. + (enum cp_built_in_function): Add + CP_BUILT_IN_IS_POINTER_INTERCONVERTIBLE_WITH_CLASS. + (fold_builtin_is_pointer_inverconvertible_with_class): Declare. + * parser.c (cp_parser_primary_expression): Handle + RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF. + (cp_parser_trait_expr): Likewise. + * cp-objcp-common.c (names_builtin_p): Likewise. + * constraint.cc (diagnose_trait_expr): Handle + CPTK_IS_POINTER_INTERCONVERTIBLE_BASE_OF. + * decl.c (cxx_init_decl_processing): Register + __builtin_is_pointer_interconvertible_with_class builtin. + * constexpr.c (cxx_eval_builtin_function_call): Handle + CP_BUILT_IN_IS_POINTER_INTERCONVERTIBLE_WITH_CLASS builtin. + * semantics.c (pointer_interconvertible_base_of_p, + first_nonstatic_data_member_p, + fold_builtin_is_pointer_inverconvertible_with_class): New functions. + (trait_expr_value): Handle CPTK_IS_POINTER_INTERCONVERTIBLE_BASE_OF. + (finish_trait_expr): Likewise. Formatting fix. + * cp-gimplify.c (cp_gimplify_expr): Fold + CP_BUILT_IN_IS_POINTER_INTERCONVERTIBLE_WITH_CLASS. Call + fndecl_built_in_p just once. + (cp_fold): Likewise. + * tree.c (builtin_valid_in_constant_expr_p): Handle + CP_BUILT_IN_IS_POINTER_INTERCONVERTIBLE_WITH_CLASS. Call + fndecl_built_in_p just once. + * cxx-pretty-print.c (pp_cxx_trait_expression): Handle + CPTK_IS_POINTER_INTERCONVERTIBLE_BASE_OF. + +2021-07-30 Jason Merrill + + * class.c (finish_struct_anon): Improve comment. + * decl.c (fixup_anonymous_aggr): Reject anonymous struct + with bases. + +2021-07-30 Jakub Jelinek + + * parser.c (cp_parser_statement): Rollback attributes not just + when std_attrs is non-NULL, but whenever + cp_parser_std_attribute_spec_seq parsed any tokens. + +2021-07-30 Jakub Jelinek + + PR c++/101582 + * parser.c (cp_parser_skip_std_attribute_spec_seq): Add a forward + declaration. + (cp_parser_declaration): Parse empty-declaration and + attribute-declaration. + (cp_parser_toplevel_declaration): Don't parse empty-declaration here. + 2021-07-28 Martin Sebor * init.c: Include new header. diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index 6bf4b8fd489..3bf2eec40a5 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,101 @@ +2021-07-30 Iain Buclaw + + * expr.cc (binary_op): Remove dead code. + +2021-07-30 Iain Buclaw + + * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoClassDeclaration *)): + Always layout initializer for the m_RTInfo field. + +2021-07-30 Iain Buclaw + + * expr.cc (ExprVisitor::visit (AssertExp *)): Don't generate + PREDICT_EXPR. + +2021-07-30 Iain Buclaw + + * expr.cc (ExprVisitor::visit (AssignExp *)): Clarify comment + for generating static array assignment with literal. + +2021-07-30 Iain Buclaw + + * decl.cc (enum_initializer_decl): Only handle named enums. + +2021-07-30 Iain Buclaw + + * decl.cc (make_thunk): Set COMDAT and visibility of thunks only if + they are public. + +2021-07-30 Iain Buclaw + + * decl.cc (DeclVisitor::visit (StructDeclaration *)): Don't use sinit + for declaration directly. + (DeclVisitor::visit (ClassDeclaration *)): Likewise. + (aggregate_initializer_decl): Likewise. Set sinit after creating. + +2021-07-30 Iain Buclaw + + * d-builtins.cc (build_frontend_type): Use Identifier::idPool to + generate anonymous field name. + +2021-07-30 Iain Buclaw + + * types.cc (layout_aggregate_type): Call hasMonitor. + * typeinfo.cc (TypeInfoVisitor::layout_base): Likewise. + (layout_cpp_typeinfo): Likewise. Don't emit vtable unless + have_typeinfo_p. + +2021-07-30 Iain Buclaw + + * d-lang.cc (deps_add_target): Insert null terminator in buffer. + (deps_write): Likewise. + (d_parse_file): Likewise. + +2021-07-30 Iain Buclaw + + * d-builtins.cc (build_frontend_type): Restore builtin_converted_decls + length on conversion failure. + +2021-07-30 Iain Buclaw + + * d-codegen.cc (d_nested_class): Rename to ... + (get_outer_function): ... this. Handle all aggregate declarations. + (d_nested_struct): Remove. + (find_this_tree): Use get_outer_function. + (get_framedecl): Likewise. + +2021-07-29 Iain Buclaw + + PR d/101672 + * typeinfo.cc (make_frontend_typeinfo): Generate Object class if it + doesn't exist. + (check_typeinfo_type): Don't warn if there's no location. + +2021-07-29 Iain Buclaw + + PR d/101664 + * expr.cc (ExprVisitor::visit (CallExp *)): Use object expression as + result for C++ constructor calls. + +2021-07-29 Iain Buclaw + + PR d/96435 + * d-convert.cc (convert_for_rvalue): New function. + * d-tree.h (convert_for_rvalue): Declare. + * expr.cc (ExprVisitor::visit (CastExp *)): Use convert_for_rvalue. + (build_return_dtor): Likewise. + +2021-07-29 Iain Buclaw + + PR d/101657 + * d-lang.cc (d_parse_file): Remove generated D header files on error. + +2021-07-29 Iain Buclaw + + PR d/101656 + * d-diagnostic.cc (escape_d_format): Don't escape quoted format + strings. + 2021-07-28 Iain Buclaw PR d/101640 diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog index 4504e4e2530..3400b408dfe 100644 --- a/gcc/po/ChangeLog +++ b/gcc/po/ChangeLog @@ -1,3 +1,16 @@ +2021-07-31 Joseph Myers + + * fr.po: Update. + +2021-07-30 Joseph Myers + + * de.po: Update. + +2021-07-29 Joseph Myers + + * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po, + ja.po, nl.po, ru.po, sr.po, sv.po, zh_CN.po, zh_TW.po: Update. + 2021-07-26 Joseph Myers * gcc.pot: Regenerate. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4157bdb05f8..b4d9816215f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,378 @@ +2021-08-03 H.J. Lu + + PR target/80566 + * g++.target/i386/pr80566-1.C: New test. + * g++.target/i386/pr80566-2.C: Likewise. + +2021-08-03 liuhongt + + * gcc.target/i386/cond_op_addsubmuldiv_double-1.c: New test. + * gcc.target/i386/cond_op_addsubmuldiv_double-2.c: New test. + * gcc.target/i386/cond_op_addsubmuldiv_float-1.c: New test. + * gcc.target/i386/cond_op_addsubmuldiv_float-2.c: New test. + +2021-08-02 H.J. Lu + + * gcc.target/i386/vect8-ret.c: Also pass -mno-sse. + +2021-08-02 H.J. Lu + + * gcc.target/i386/incoming-11.c: Expect no stack realignment. + +2021-08-02 H.J. Lu + + * gcc.target/i386/sw-1.c: Also pass -mno-avx for ia32. + +2021-08-02 H.J. Lu + + * gcc.target/i386/cold-attribute-1.c: Also pass -mno-avx. + +2021-08-02 H.J. Lu + + * gcc.target/i386/pr72839.c: Also pass -mno-avx. + +2021-08-02 H.J. Lu + + * gcc.target/i386/pieces-memcpy-10.c: New test. + * gcc.target/i386/pieces-memcpy-11.c: Likewise. + * gcc.target/i386/pieces-memcpy-12.c: Likewise. + * gcc.target/i386/pieces-memcpy-13.c: Likewise. + * gcc.target/i386/pieces-memcpy-14.c: Likewise. + * gcc.target/i386/pieces-memcpy-15.c: Likewise. + * gcc.target/i386/pieces-memcpy-16.c: Likewise. + * gcc.target/i386/pieces-memset-1.c: Likewise. + * gcc.target/i386/pieces-memset-2.c: Likewise. + * gcc.target/i386/pieces-memset-3.c: Likewise. + * gcc.target/i386/pieces-memset-4.c: Likewise. + * gcc.target/i386/pieces-memset-5.c: Likewise. + * gcc.target/i386/pieces-memset-6.c: Likewise. + * gcc.target/i386/pieces-memset-7.c: Likewise. + * gcc.target/i386/pieces-memset-8.c: Likewise. + * gcc.target/i386/pieces-memset-9.c: Likewise. + * gcc.target/i386/pieces-memset-10.c: Likewise. + * gcc.target/i386/pieces-memset-11.c: Likewise. + * gcc.target/i386/pieces-memset-12.c: Likewise. + * gcc.target/i386/pieces-memset-13.c: Likewise. + * gcc.target/i386/pieces-memset-14.c: Likewise. + * gcc.target/i386/pieces-memset-15.c: Likewise. + * gcc.target/i386/pieces-memset-16.c: Likewise. + * gcc.target/i386/pieces-memset-17.c: Likewise. + * gcc.target/i386/pieces-memset-18.c: Likewise. + * gcc.target/i386/pieces-memset-19.c: Likewise. + * gcc.target/i386/pieces-memset-20.c: Likewise. + * gcc.target/i386/pieces-memset-21.c: Likewise. + * gcc.target/i386/pieces-memset-22.c: Likewise. + * gcc.target/i386/pieces-memset-23.c: Likewise. + * gcc.target/i386/pieces-memset-24.c: Likewise. + * gcc.target/i386/pieces-memset-25.c: Likewise. + * gcc.target/i386/pieces-memset-26.c: Likewise. + * gcc.target/i386/pieces-memset-27.c: Likewise. + * gcc.target/i386/pieces-memset-28.c: Likewise. + * gcc.target/i386/pieces-memset-29.c: Likewise. + * gcc.target/i386/pieces-memset-30.c: Likewise. + * gcc.target/i386/pieces-memset-31.c: Likewise. + * gcc.target/i386/pieces-memset-32.c: Likewise. + * gcc.target/i386/pieces-memset-33.c: Likewise. + * gcc.target/i386/pieces-memset-34.c: Likewise. + * gcc.target/i386/pieces-memset-35.c: Likewise. + * gcc.target/i386/pieces-memset-36.c: Likewise. + * gcc.target/i386/pieces-memset-37.c: Likewise. + * gcc.target/i386/pieces-memset-38.c: Likewise. + * gcc.target/i386/pieces-memset-39.c: Likewise. + * gcc.target/i386/pieces-memset-40.c: Likewise. + * gcc.target/i386/pieces-memset-41.c: Likewise. + * gcc.target/i386/pieces-memset-42.c: Likewise. + * gcc.target/i386/pieces-memset-43.c: Likewise. + * gcc.target/i386/pieces-memset-44.c: Likewise. + * gcc.target/i386/pieces-memcpy-7.c: New file. + * gcc.target/i386/pieces-memcpy-8.c: New file. + * gcc.target/i386/pieces-memcpy-9.c: New file. + +2021-08-02 H.J. Lu + + PR middle-end/90773 + * gcc.target/i386/pr90773-20.c: New test. + * gcc.target/i386/pr90773-21.c: Likewise. + * gcc.target/i386/pr90773-22.c: Likewise. + * gcc.target/i386/pr90773-23.c: Likewise. + * gcc.target/i386/pr90773-26.c: Likewise. + +2021-08-02 H.J. Lu + + * gcc.target/i386/pr90773-1.c: Adjust to expect movq for 32-bit. + * gcc.target/i386/pr90773-4.c: Also run for 32-bit. + * gcc.target/i386/pr90773-15.c: Likewise. + * gcc.target/i386/pr90773-16.c: Likewise. + * gcc.target/i386/pr90773-17.c: Likewise. + * gcc.target/i386/pr90773-24.c: Likewise. + * gcc.target/i386/pr90773-25.c: Likewise. + * gcc.target/i386/pr100865-1.c: Likewise. + * gcc.target/i386/pr100865-2.c: Likewise. + * gcc.target/i386/pr100865-3.c: Likewise. + * gcc.target/i386/pr90773-14.c: Also run for 32-bit and expect + XMM movd to store 4 bytes. + * gcc.target/i386/pr100865-4a.c: Also run for 32-bit and expect + YMM registers. + * gcc.target/i386/pr100865-4b.c: Likewise. + * gcc.target/i386/pr100865-10a.c: Expect YMM registers. + * gcc.target/i386/pr100865-10b.c: Likewise. + +2021-08-02 H.J. Lu + + * gcc.target/i386/eh_return-1.c: New test. + +2021-08-02 H.J. Lu + + PR middle-end/90773 + * gcc.target/i386/pr90773-5.c: Updated to expect XMM register. + * gcc.target/i386/pr90773-14.c: Likewise. + * gcc.target/i386/pr90773-15.c: New test. + * gcc.target/i386/pr90773-16.c: Likewise. + * gcc.target/i386/pr90773-17.c: Likewise. + * gcc.target/i386/pr90773-18.c: Likewise. + * gcc.target/i386/pr90773-19.c: Likewise. + +2021-08-02 Roger Sayle + + * gcc.dg/tree-ssa/phi-opt-25.c: New test case. + +2021-08-01 H.J. Lu + + PR target/78103 + * gcc.target/i386/pr78103-2.c: Also scan incl. + * gcc.target/i386/pr78103-3.c: Scan leal|addl|incl for x32. Also + scan incq. + +2021-07-31 Jason Merrill + + PR c++/96636 + * g++.dg/ext/anon-struct9.C: New test. + +2021-07-31 Roger Sayle + + * gcc.target/i386/dec-cmov-2.c: Require -march=core2 with -m32. + +2021-07-31 Jakub Jelinek + + * g++.dg/gomp/attrs-9.C: New test. + +2021-07-31 Jakub Jelinek + + PR target/78103 + * gcc.target/i386/pr78103-1.c: New test. + * gcc.target/i386/pr78103-2.c: New test. + * gcc.target/i386/pr78103-3.c: New test. + +2021-07-31 Hans-Peter Nilsson + + * gcc.dg/tree-ssa/ssa-dse-26.c: Skip on mmix-knuth-mmixware. + +2021-07-31 Hans-Peter Nilsson + + PR middle-end/101674 + * gcc.dg/uninit-pred-9_b.c: Xfail for mmix-*-* too. + +2021-07-30 Paul A. Clarke + + * gcc.target/powerpc/sse4_1-floorpd.c: New. + * gcc.target/powerpc/sse4_1-floorps.c: New. + * gcc.target/powerpc/sse4_1-floorsd.c: New. + * gcc.target/powerpc/sse4_1-floorss.c: New. + * gcc.target/powerpc/sse4_1-roundpd-2.c: Copy from + gcc/testsuite/gcc.target/i386 and adjust dg directives to suit. + +2021-07-30 Paul A. Clarke + + * gcc.target/powerpc/sse4_1-ceilpd.c: New. + * gcc.target/powerpc/sse4_1-ceilps.c: New. + * gcc.target/powerpc/sse4_1-ceilsd.c: New. + * gcc.target/powerpc/sse4_1-ceilss.c: New. + * gcc.target/powerpc/sse4_1-round-data.h: New. + * gcc.target/powerpc/sse4_1-round.h: New. + * gcc.target/powerpc/sse4_1-round2.h: New. + * gcc.target/powerpc/sse4_1-roundpd-3.c: Copy from gcc.target/i386 + and adjust dg directives to suit. + * gcc.target/powerpc/sse4_1-check.h (__VSX_SSE2__): Define. + +2021-07-30 Paul A. Clarke + + * gcc.target/powerpc/sse4_1-blendpd.c: Copy from gcc.target/i386 + and adjust dg directives to suit. + * gcc.target/powerpc/sse4_1-blendps-2.c: Likewise. + * gcc.target/powerpc/sse4_1-blendps.c: Likewise. + * gcc.target/powerpc/sse4_1-blendvpd.c: Likewise. + +2021-07-30 Roger Sayle + Uroš Bizjak + + * gcc.target/i386/dec-cmov-1.c: New test. + * gcc.target/i386/dec-cmov-2.c: New test. + +2021-07-30 Andrew MacLeod + + * gcc.dg/tree-ssa/pr61839_2.c: Adjust. Add new const fold test. + +2021-07-30 Andrew MacLeod + + * gcc.dg/tree-ssa/pr61839_2.c: Adjust. + +2021-07-30 Martin Sebor + + PR middle-end/101671 + * gcc.c-torture/compile/pr83510.c: Move test functions... + * gcc.dg/Warray-bounds-87.c: ...to this file. + +2021-07-30 H.J. Lu + + * gcc.target/i386/pr100865-3.c: Expect vmovdqu8 instead of + vmovdqu. + * gcc.target/i386/pr100865-4b.c: Likewise. + +2021-07-30 Andrew Pinski + + PR testsuite/101517 + * g++.dg/warn/Wunused-18.C: New test. + * gcc.c-torture/compile/20030405-2.c: New test. + * gcc.c-torture/compile/20040304-2.c: New test. + * gcc.dg/20030612-2.c: New test. + +2021-07-30 Xi Ruoyao + + PR target/101132 + * gcc.target/mips/pr101132.c: New test. + +2021-07-30 Jakub Jelinek + + PR c++/101539 + * g++.dg/cpp2a/is-pointer-interconvertible-base-of1.C: New test. + * g++.dg/cpp2a/is-pointer-interconvertible-with-class1.C: New test. + * g++.dg/cpp2a/is-pointer-interconvertible-with-class2.C: New test. + * g++.dg/cpp2a/is-pointer-interconvertible-with-class3.C: New test. + * g++.dg/cpp2a/is-pointer-interconvertible-with-class4.C: New test. + * g++.dg/cpp2a/is-pointer-interconvertible-with-class5.C: New test. + * g++.dg/cpp2a/is-pointer-interconvertible-with-class6.C: New test. + +2021-07-30 Jason Merrill + + * g++.dg/ext/anon-struct8.C: New test. + +2021-07-30 Jakub Jelinek + + * g++.dg/cpp0x/gen-attrs-76.C: New test. + +2021-07-30 H.J. Lu + + PR target/101685 + * gcc.target/i386/pr101685.c: New test. + +2021-07-30 Aldy Hernandez + + * gcc.dg/shrink-wrap-loop.c: Enable early jump threading. Mark as + XFAIL. + +2021-07-30 Jakub Jelinek + + PR c++/101582 + * g++.dg/cpp0x/gen-attrs-45.C: Expect a warning about ignored + attributes instead of error. + * g++.dg/cpp0x/gen-attrs-75.C: New test. + * g++.dg/modules/pr101582-1.C: New test. + +2021-07-30 Xi Ruoyao + + PR ipa/101396 + * g++.dg/lto/pr101396_0.C: New test. + * g++.dg/lto/pr101396_1.C: New test. + +2021-07-29 Martin Sebor + + PR middle-end/101674 + * gcc.dg/uninit-pred-9_b.c: Xfail just the failing assertion and + correct target. + +2021-07-29 Iain Buclaw + + PR d/101672 + * gdc.dg/pr100967.d: Update test. + * gdc.dg/pr101672.d: New test. + +2021-07-29 Iain Buclaw + + PR d/101664 + * gdc.dg/extern-c++/extern-c++.exp: New. + * gdc.dg/extern-c++/pr101664.d: New test. + * gdc.dg/extern-c++/pr101664_1.cc: New test. + +2021-07-29 Iain Buclaw + + PR d/96435 + * gdc.dg/torture/pr96435.d: New test. + +2021-07-29 Iain Buclaw + + PR d/101657 + * gdc.dg/pr101657.d: New test. + +2021-07-29 Jakub Jelinek + + PR testsuite/101647 + * g++.dg/pr71389.C: Include instead of . + * g++.dg/cpp0x/initlist48.C: Include also . + +2021-07-29 Thomas Schwinge + Julian Brown + Kwok Cheung Yeung + + * c-c++-common/goacc/classify-kernels-unparallelized.c: + 's%oaccdevlow%oaccloops%g'. + * c-c++-common/goacc/classify-kernels.c: Likewise. + * c-c++-common/goacc/classify-parallel.c: Likewise. + * c-c++-common/goacc/classify-routine-nohost.c: Likewise. + * c-c++-common/goacc/classify-routine.c: Likewise. + * c-c++-common/goacc/classify-serial.c: Likewise. + * c-c++-common/goacc/routine-nohost-1.c: Likewise. + * g++.dg/goacc/template.C: Likewise. + * gcc.dg/goacc/loop-processing-1.c: Likewise. + * gfortran.dg/goacc/classify-kernels-unparallelized.f95: Likewise. + * gfortran.dg/goacc/classify-kernels.f95: Likewise. + * gfortran.dg/goacc/classify-parallel.f95: Likewise. + * gfortran.dg/goacc/classify-routine-nohost.f95: Likewise. + * gfortran.dg/goacc/classify-routine.f95: Likewise. + * gfortran.dg/goacc/classify-serial.f95: Likewise. + * gfortran.dg/goacc/routine-multiple-directives-1.f90: Likewise. + +2021-07-29 Haochen Gui + + PR target/100952 + * gcc.target/powerpc/pr56605.c: Change matching + conditions. + * gcc.target/powerpc/pr81348.c: Likewise. + +2021-07-29 Richard Biener + + PR c/101512 + * gcc.dg/torture/pr101512.c: New testcase. + +2021-07-29 liuhongt + + PR target/99881 + * gcc.target/i386/pr91446.c: + * gcc.target/i386/pr92658-avx512bw-2.c: + * gcc.target/i386/pr92658-sse4-2.c: + * gcc.target/i386/pr92658-sse4.c: + * gcc.target/i386/pr99881.c: + +2021-07-29 liuhongt + + PR target/39821 + * gcc.target/i386/sse2-pr39821.c: New test. + * gcc.target/i386/sse4-pr39821.c: New test. + +2021-07-29 Jiufu Guo + + PR target/61837 + * gcc.target/powerpc/pr61837.c: New test. + 2021-07-28 Martin Sebor PR middle-end/101494 diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index e4e1563d735..cbd127467a8 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,35 @@ +2021-07-30 Thomas Schwinge + Ulrich Drepper + + * fortran.c (omp_display_env_, omp_display_env_8_): Only + '#ifndef LIBGOMP_OFFLOADED_ONLY'. + +2021-07-29 Thomas Schwinge + Julian Brown + Kwok Cheung Yeung + + * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: + 's%oaccdevlow%oaccloops%g'. + * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: + Likewise. + * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise. + 2021-07-27 Ulrich Drepper * env.c (wait_policy, stacksize): New static variables, diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 26486e1d0d3..28d9939191b 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,68 @@ +2021-08-02 Patrick Palka + + PR libstdc++/101599 + * include/bits/ranges_algo.h (__reverse_copy_fn::operator()): + Add missing std::move in return statement. + (__partition_copy_fn::operator()): Rename templtae parameter + _O2 to _Out2. Uglify function parameters out_true and out_false. + * include/bits/ranges_algobase.h (__copy_or_move): Add missing + std::move to recursive call that unwraps a __normal_iterator + output iterator. + * testsuite/25_algorithms/copy/constrained.cc (test06): New test. + * testsuite/25_algorithms/move/constrained.cc (test05): New test. + +2021-08-02 Patrick Palka + + PR libstdc++/101589 + * include/std/ranges (lazy_split_view::_InnerIter::base): Make + the const& overload unconstrained and return a const reference + as per LWG 3533. Make unconditionally noexcept. + (elements_view::base): Revert accidental r12-569 change. + (elements_view::_Iterator::base): Make the const& overload + unconstrained and return a const reference as per LWG 3533. + Make unconditionally noexcept. + +2021-08-02 Patrick Palka + + PR libstdc++/101483 + * include/std/ranges (join_view::_Iterator::_Iterator): Add + missing std::move. + +2021-08-02 Jonathan Wakely + + PR libstdc++/101709 + * src/filesystem/ops-common.h (get_temp_directory_from_env): + Add error_code parameter. + * src/c++17/fs_ops.cc (fs::temp_directory_path): Pass error_code + argument to get_temp_directory_from_env and check it. + * src/filesystem/ops.cc (fs::temp_directory_path): Likewise. + +2021-08-02 Jonathan Wakely + + * testsuite/20_util/tuple/comparison_operators/overloaded2.cc: + Add dg-error for c++11_only target. + +2021-07-30 Jonathan Wakely + + PR libstdc++/65018 + * configure.ac: Check for secure_getenv. + * config.h.in: Regenerate. + * configure: Regenerate. + * src/filesystem/ops-common.h (get_temp_directory_from_env): New + helper function to obtain path from the environment. + * src/c++17/fs_ops.cc (fs::temp_directory_path): Use new helper. + * src/filesystem/ops.cc (fs::temp_directory_path): Likewise. + * testsuite/27_io/filesystem/operations/temp_directory_path.cc: + Print messages if test cannot be run. + * testsuite/experimental/filesystem/operations/temp_directory_path.cc: + Likewise. Fix incorrect condition. Use "TMP" to work with + Windows as well as POSIX. + +2021-07-29 Hans-Peter Nilsson + + * src/c++17/memory_resource.cc: Use __exchange instead + of std::exchange. + 2021-07-27 Jonathan Wakely * include/experimental/optional (__throw_bad_optional_access):