From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2168) id 6ED193858C2C; Thu, 18 Nov 2021 00:17:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6ED193858C2C 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-5359] Daily bump. X-Act-Checkin: gcc X-Git-Author: GCC Administrator X-Git-Refname: refs/heads/master X-Git-Oldrev: 32221357007666124409ec3ee0d3a1cf263ebc9e X-Git-Newrev: 280d2838c112f02cb24dd34a69edf112e84cfe12 Message-Id: <20211118001709.6ED193858C2C@sourceware.org> Date: Thu, 18 Nov 2021 00:17:09 +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: Thu, 18 Nov 2021 00:17:09 -0000 https://gcc.gnu.org/g:280d2838c112f02cb24dd34a69edf112e84cfe12 commit r12-5359-g280d2838c112f02cb24dd34a69edf112e84cfe12 Author: GCC Administrator Date: Thu Nov 18 00:16:34 2021 +0000 Daily bump. Diff: --- gcc/ChangeLog | 166 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/analyzer/ChangeLog | 17 +++++ gcc/c-family/ChangeLog | 13 ++++ gcc/c/ChangeLog | 6 ++ gcc/testsuite/ChangeLog | 117 ++++++++++++++++++++++++++++++++++ libcpp/ChangeLog | 71 +++++++++++++++++++++ libstdc++-v3/ChangeLog | 50 +++++++++++++++ 8 files changed, 441 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0fb25677594..5e5a720f071 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,169 @@ +2021-11-17 Andrew Pinski + + PR tree-optimization/103228 + PR tree-optimization/55177 + * match.pd ((type) X bitop CST): Also do this + transformation for nop conversions. + +2021-11-17 Martin Sebor + + PR tree-optimization/102759 + * gimple-array-bounds.cc (build_printable_array_type): Move... + * gimple-ssa-warn-access.cc (build_printable_array_type): Avoid + pathological function redeclarations that remove a previously + declared prototype. + Improve formatting of function arguments in informational notes. + * pointer-query.cc (build_printable_array_type): ...to here. + * pointer-query.h (build_printable_array_type): Declared. + +2021-11-17 H.J. Lu + + PR target/102952 + * config/i386/i386-opts.h (harden_sls): New enum. + * config/i386/i386.c (output_indirect_thunk): Mitigate against + SLS for function return. + (ix86_output_function_return): Likewise. + (ix86_output_jmp_thunk_or_indirect): Mitigate against indirect + branch. + (ix86_output_indirect_jmp): Likewise. + (ix86_output_call_insn): Likewise. + * config/i386/i386.opt: Add -mharden-sls=. + * doc/invoke.texi: Document -mharden-sls=. + +2021-11-17 H.J. Lu + + PR target/103307 + * config/i386/i386.c (ix86_code_end): Remove "%!" before ret. + (ix86_output_function_return): Likewise. + * config/i386/i386.md (simple_return_pop_internal): Likewise. + +2021-11-17 Jan Hubicka + + PR ipa/103246 + * ipa-modref.c (read_modref_records): Fix streaminig in of every_access + flag. + +2021-11-17 Uroš Bizjak + + * config/i386/i386.c (indirect_thunks_used): Redefine as HARD_REG_SET. + (ix86_code_end): Use TEST_HARD_REG_BIT on indirect_thunks_used. + (ix86_output_indirect_branch_via_reg): Use SET_HARD_REG_BIT + on indirect_thunks_used. + (ix86_output_indirect_function_return): Ditto. + +2021-11-17 Jan Hubicka + + * ipa-modref-tree.c: Include cgraph.h and tree-streamer.h. + (modref_access_node::stream_out): New member function. + (modref_access_node::stream_in): New member function. + * ipa-modref-tree.h (modref_access_node::stream_out, + modref_access_node::stream_in): Declare. + * ipa-modref.c (modref_summary_lto::useful_p): Free useless kills. + (modref_summary_lto::dump): Dump kills. + (analyze_store): Record kills for LTO + (analyze_stmt): Likewise. + (modref_summaries_lto::duplicate): Duplicate kills. + (write_modref_records): Use new stream_out member function. + (read_modref_records): Likewise. + (modref_write): Stream out kills. + (read_section): Stream in kills + (remap_kills): New function. + (update_signature): Use it. + +2021-11-17 Uroš Bizjak + + * config/i386/i386.h (LEGACY_SSE_REGNO_P): New predicate. + (SSE_REGNO_P): Use LEGACY_SSE_REGNO_P predicate. + * config/i386/i386.c (zero_all_vector_registers): + Use LEGACY_SSE_REGNO_P predicate. + (ix86_register_priority): Use REX_INT_REGNO_P, REX_SSE_REGNO_P + and EXT_REG_SSE_REGNO_P predicates. + (ix86_hard_regno_call_part_clobbered): Use REX_SSE_REGNO_P + and LEGACY_SSE_REGNO_P predicates. + +2021-11-17 Jason Merrill + + * doc/invoke.texi (C++ Dialect Options): Document + -fimplicit-constexpr. + +2021-11-17 Przemyslaw Wirkus + + * config/aarch64/aarch64-modes.def (VECTOR_MODE): New V8DI mode. + * config/aarch64/aarch64.c (aarch64_hard_regno_mode_ok): Handle + V8DImode. + * config/aarch64/iterators.md (define_mode_attr nunits): Add entry + for V8DI. + +2021-11-17 Martin Uecker + + PR c/91038 + PR c/29970 + * gimplify.c (gimplify_var_or_parm_decl): Update comment. + (gimplify_compound_lval): Gimplify base expression first. + (gimplify_target_expr): Add comment. + +2021-11-17 Jakub Jelinek + + PR tree-optimization/103192 + * tree-ssa-loop-im.c (move_computations_worker): Use + reset_flow_sensitive_info instead of manually clearing + SSA_NAME_RANGE_INFO and do it for all SSA_NAMEs, not just ones + with integral types. + +2021-11-17 Jakub Jelinek + + PR tree-optimization/103255 + * gimple-range-fold.cc (fold_using_range::range_of_address): Return + range_nonzero rather than unadjusted base's range. Formatting fixes. + +2021-11-17 Richard Sandiford + + * doc/md.texi (cond_fmin@var{mode}, cond_fmax@var{mode}): Document. + * optabs.def (cond_fmin_optab, cond_fmax_optab): New optabs. + * internal-fn.def (COND_FMIN, COND_FMAX): New functions. + * internal-fn.c (first_commutative_argument): Handle them. + (FOR_EACH_COND_FN_PAIR): Likewise. + * match.pd (UNCOND_BINARY, COND_BINARY): Likewise. + * config/aarch64/aarch64-sve.md (cond_): New + pattern. + +2021-11-17 Kewen Lin + + * config/i386/i386.md (*add3_doubleword, *addv4_doubleword, + *addv4_doubleword_1, *sub3_doubleword, + *subv4_doubleword, *subv4_doubleword_1, + *add3_doubleword_cc_overflow_1, *divmodsi4_const, + *neg2_doubleword, *tls_dynamic_gnu2_combine_64_): Fix split + condition. + +2021-11-17 Andrew Pinski + + PR tree-optimization/103288 + * tree-ssa-phiopt.c (value_replacement): Return early if middle + block has more than one pred. + +2021-11-17 Kewen Lin + + * config/visium/visium.md (*add3_insn, *addsi3_insn, *addi3_insn, + *sub3_insn, *subsi3_insn, *subdi3_insn, *neg2_insn, + *negdi2_insn, *and3_insn, *ior3_insn, *xor3_insn, + *one_cmpl2_insn, *ashl3_insn, *ashr3_insn, + *lshr3_insn, *trunchiqi2_insn, *truncsihi2_insn, + *truncdisi2_insn, *extendqihi2_insn, *extendqisi2_insn, + *extendhisi2_insn, *extendsidi2_insn, *zero_extendqihi2_insn, + *zero_extendqisi2_insn, *zero_extendsidi2_insn): Fix split condition. + +2021-11-17 Marek Polacek + + PR preprocessor/103026 + * doc/invoke.texi: Document -Wbidi-chars. + +2021-11-17 Jan Hubicka + + PR ipa/103246 + * ipa-modref.c (ipa_merge_modref_summary_after_inlining): Fix clearing + of to_info_lto + 2021-11-16 Jan Hubicka * ipa-modref.c (get_modref_function_summary): Declare. diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 530e4a51b6a..15171a25738 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20211117 +20211118 diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index be7b286f778..d9fc37ccc54 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,20 @@ +2021-11-17 David Malcolm + + PR analyzer/102695 + * region-model-impl-calls.cc (region_model::impl_call_strchr): New. + * region-model-manager.cc + (region_model_manager::maybe_fold_unaryop): Simplify cast to + pointer type of an existing pointer to a region. + * region-model.cc (region_model::on_call_pre): Handle + BUILT_IN_STRCHR and "strchr". + (write_to_const_diagnostic::emit): Add auto_diagnostic_group. Add + alternate wordings for functions and labels. + (write_to_const_diagnostic::describe_final_event): Add alternate + wordings for functions and labels. + (region_model::check_for_writable_region): Handle RK_FUNCTION and + RK_LABEL. + * region-model.h (region_model::impl_call_strchr): New decl. + 2021-11-16 David Malcolm PR analyzer/102662 diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index c5ae8c104b7..21f153e87e6 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,16 @@ +2021-11-17 Martin Uecker + + PR c/91038 + PR c/29970 + * c-common.c (pointer_int_sum): Make sure pointer expressions + are evaluated first when the size expression depends on for + variably-modified types. + +2021-11-17 Marek Polacek + + PR preprocessor/103026 + * c.opt (Wbidi-chars, Wbidi-chars=): New option. + 2021-11-16 Jason Merrill * c-common.c (release_tree_vector): Only cache vecs smaller than diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 3ce48f1abb8..8dcd6be5fb5 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,9 @@ +2021-11-17 Martin Sebor + + PR c/101702 + * c-decl.c (get_parm_array_spec): Strip casts earlier and fold array + bounds before deciding if they're constant. + 2021-11-15 Jakub Jelinek * c-parser.c (OMP_TARGET_CLAUSE_MASK): Add diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 566c5718aab..594cc2c66c5 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,120 @@ +2021-11-17 Andrew Pinski + + PR tree-optimization/103228 + PR tree-optimization/55177 + * gcc.dg/tree-ssa/pr103228-1.c: New test. + * gcc.dg/tree-ssa/pr55177-1.c: New test. + +2021-11-17 David Malcolm + + PR preprocessor/103026 + * c-c++-common/Wbidi-chars-ranges.c: New test. + +2021-11-17 Martin Sebor + + PR tree-optimization/102759 + * gcc.dg/Warray-parameter-10.c: New test. + * gcc.dg/Wstringop-overflow-82.c: New test. + +2021-11-17 H.J. Lu + + PR target/102952 + * gcc.target/i386/harden-sls-1.c: New test. + * gcc.target/i386/harden-sls-2.c: Likewise. + * gcc.target/i386/harden-sls-3.c: Likewise. + * gcc.target/i386/harden-sls-4.c: Likewise. + * gcc.target/i386/harden-sls-5.c: Likewise. + +2021-11-17 Martin Sebor + + PR c/101702 + * gcc.dg/Warray-parameter-11.c: New test. + +2021-11-17 Jeff Law + + * gcc.target/mips/frame-header-1.c (bar): Add noipa attribute. + * gcc.target/mips/frame-header-2.c (bar): Likewise. + +2021-11-17 Jakub Jelinek + + PR preprocessor/103130 + * c-c++-common/cpp/dir-only-9.c: New test. + +2021-11-17 Martin Uecker + + PR c/91038 + PR c/29970 + * gcc.dg/vla-stexp-3.c: New test. + * gcc.dg/vla-stexp-4.c: New test. + * gcc.dg/vla-stexp-5.c: New test. + * gcc.dg/vla-stexp-6.c: New test. + * gcc.dg/vla-stexp-7.c: New test. + * gcc.dg/vla-stexp-8.c: New test. + * gcc.dg/vla-stexp-9.c: New test. + +2021-11-17 Jakub Jelinek + + PR tree-optimization/103255 + * gcc.c-torture/execute/pr103255.c: New test. + +2021-11-17 Richard Sandiford + + * gcc.target/aarch64/sve/cond_fmaxnm_5.c: New test. + * gcc.target/aarch64/sve/cond_fmaxnm_5_run.c: Likewise. + * gcc.target/aarch64/sve/cond_fmaxnm_6.c: Likewise. + * gcc.target/aarch64/sve/cond_fmaxnm_6_run.c: Likewise. + * gcc.target/aarch64/sve/cond_fmaxnm_7.c: Likewise. + * gcc.target/aarch64/sve/cond_fmaxnm_7_run.c: Likewise. + * gcc.target/aarch64/sve/cond_fmaxnm_8.c: Likewise. + * gcc.target/aarch64/sve/cond_fmaxnm_8_run.c: Likewise. + * gcc.target/aarch64/sve/cond_fminnm_5.c: Likewise. + * gcc.target/aarch64/sve/cond_fminnm_5_run.c: Likewise. + * gcc.target/aarch64/sve/cond_fminnm_6.c: Likewise. + * gcc.target/aarch64/sve/cond_fminnm_6_run.c: Likewise. + * gcc.target/aarch64/sve/cond_fminnm_7.c: Likewise. + * gcc.target/aarch64/sve/cond_fminnm_7_run.c: Likewise. + * gcc.target/aarch64/sve/cond_fminnm_8.c: Likewise. + * gcc.target/aarch64/sve/cond_fminnm_8_run.c: Likewise. + +2021-11-17 Andrew Pinski + + PR tree-optimization/103288 + * gcc.c-torture/compile/pr103288-1.c: New test. + +2021-11-17 Marek Polacek + + PR preprocessor/103026 + * c-c++-common/Wbidi-chars-1.c: New test. + * c-c++-common/Wbidi-chars-2.c: New test. + * c-c++-common/Wbidi-chars-3.c: New test. + * c-c++-common/Wbidi-chars-4.c: New test. + * c-c++-common/Wbidi-chars-5.c: New test. + * c-c++-common/Wbidi-chars-6.c: New test. + * c-c++-common/Wbidi-chars-7.c: New test. + * c-c++-common/Wbidi-chars-8.c: New test. + * c-c++-common/Wbidi-chars-9.c: New test. + * c-c++-common/Wbidi-chars-10.c: New test. + * c-c++-common/Wbidi-chars-11.c: New test. + * c-c++-common/Wbidi-chars-12.c: New test. + * c-c++-common/Wbidi-chars-13.c: New test. + * c-c++-common/Wbidi-chars-14.c: New test. + * c-c++-common/Wbidi-chars-15.c: New test. + * c-c++-common/Wbidi-chars-16.c: New test. + * c-c++-common/Wbidi-chars-17.c: New test. + +2021-11-17 David Malcolm + + PR analyzer/102695 + * gcc.dg/analyzer/pr102695.c: New test. + * gcc.dg/analyzer/strchr-1.c: New test. + +2021-11-17 David Malcolm + + PR analyzer/102779 + * gcc.dg/analyzer/capacity-1.c: Add dg-require-effective-target + alloca. Use __builtin_alloca rather than alloca. + * gcc.dg/analyzer/capacity-3.c: Likewise. + 2021-11-16 Jan Hubicka * gcc.dg/tree-ssa/modref-dse-4.c: New test. diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index e0e71a40e05..3bcf688c467 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,74 @@ +2021-11-17 David Malcolm + + PR preprocessor/103026 + * lex.c (struct bidi::context): New. + (bidi::vec): Convert to a vec of context rather than unsigned + char. + (bidi::ctx_at): Rename to... + (bidi::pop_kind_at): ...this and reimplement for above change. + (bidi::current_ctx): Update for change to vec. + (bidi::current_ctx_ucn_p): Likewise. + (bidi::current_ctx_loc): New. + (bidi::on_char): Update for usage of context struct. Add "loc" + param and pass it when pushing contexts. + (get_location_for_byte_range_in_cur_line): New. + (get_bidi_utf8): Rename to... + (get_bidi_utf8_1): ...this, reintroducing... + (get_bidi_utf8): ...as a wrapper, setting *OUT when the result is + not NONE. + (get_bidi_ucn): Rename to... + (get_bidi_ucn_1): ...this, reintroducing... + (get_bidi_ucn): ...as a wrapper, setting *OUT when the result is + not NONE. + (class unpaired_bidi_rich_location): New. + (maybe_warn_bidi_on_close): Use unpaired_bidi_rich_location when + reporting on unpaired bidi chars. Split into singular vs plural + spellings. + (maybe_warn_bidi_on_char): Pass in a location_t rather than a + const uchar * and use it when emitting warnings, and when calling + bidi::on_char. + (_cpp_skip_block_comment): Capture location when kind is not NONE + and pass it to maybe_warn_bidi_on_char. + (skip_line_comment): Likewise. + (forms_identifier_p): Likewise. + (lex_raw_string): Likewise. + (lex_string): Likewise. + +2021-11-17 David Malcolm + + PR preprocessor/103026 + * lex.c (maybe_warn_bidi_on_close): Use a rich_location + and call set_escape_on_output (true) on it. + (maybe_warn_bidi_on_char): Likewise. + +2021-11-17 Jakub Jelinek + + PR preprocessor/103130 + * lex.c (cpp_directive_only_process): Treat even \*/ as end of block + comment. + +2021-11-17 Marek Polacek + + PR preprocessor/103026 + * include/cpplib.h (enum cpp_bidirectional_level): New. + (struct cpp_options): Add cpp_warn_bidirectional. + (enum cpp_warning_reason): Add CPP_W_BIDIRECTIONAL. + * internal.h (struct cpp_reader): Add warn_bidi_p member + function. + * init.c (cpp_create_reader): Set cpp_warn_bidirectional. + * lex.c (bidi): New namespace. + (get_bidi_utf8): New function. + (get_bidi_ucn): Likewise. + (maybe_warn_bidi_on_close): Likewise. + (maybe_warn_bidi_on_char): Likewise. + (_cpp_skip_block_comment): Implement warning about bidirectional + control characters. + (skip_line_comment): Likewise. + (forms_identifier_p): Likewise. + (lex_identifier): Likewise. + (lex_string): Likewise. + (lex_raw_string): Likewise. + 2021-11-01 David Malcolm * charset.c (convert_escape): Use encoding_rich_location when diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 98f66affbda..575e1d26200 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,53 @@ +2021-11-17 Jonathan Wakely + + * include/experimental/internet (address): Use std::_Construct + to initialize union members. + +2021-11-17 Jonathan Wakely + + * include/bits/basic_string.h (_M_construct_aux): Only define + for C++98. Remove constexpr. + (_M_construct_aux_2): Likewise. + (_M_construct(InputIter, InputIter)): Remove. + (basic_string(const basic_string&)): Call _M_construct with + iterator category argument. + (basic_string(const basic_string&, size_type, const Alloc&)): + Likewise. + (basic_string(const basic_string&, size_type, size_type)): + Likewise. + (basic_string(const charT*, size_type, const Alloc&)): Likewise. + Check for null pointer. + (basic_string(const charT*, const Alloc&)): Likewise. + (basic_string(initializer_list, const Alloc&)): Call + _M_construct with iterator category argument. + (basic_string(const basic_string&, const Alloc&)): Likewise. + (basic_string(basic_string&&, const Alloc&)): Likewise. + (basic_string(_InputIter, _InputIter, const Alloc&)): Likewise + for C++11 and later, call _M_construct_aux for C++98. + * include/bits/basic_string.tcc + (_M_construct(I, I, input_iterator_tag)): Replace try-block with + RAII type. + (_M_construct(I, I, forward_iterator_tag)): Likewise. Remove + __is_null_pointer check. + +2021-11-17 Jonathan Wakely + + PR libstdc++/103295 + * include/bits/basic_string.h (_M_use_local_data()): New + member function to make local buffer the active member. + (assign(const basic_string&)): Use it. + * include/bits/basic_string.tcc (_M_construct, reserve()): + Likewise. + +2021-11-17 Jonathan Wakely + + PR libstdc++/103240 + * libsupc++/tinfo2.cc (type_info::before): Use unadjusted name + to check for the '*' prefix. + * testsuite/util/testsuite_shared.cc: Add type_info object for + use in new test. + * testsuite/18_support/type_info/103240.cc: New test. + 2021-11-16 Jonathan Wakely * include/bits/basic_string.h (operator<=>): Use constexpr