diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 47772d9ff44..b18ee85acae 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,218 @@ +2021-07-16 David Malcolm + + * doc/analyzer.texi: Add __analyzer_dump_state. + +2021-07-16 Bill Schmidt + + * config/rs6000/rbtree.c: New file. + * config/rs6000/rbtree.h: New file. + +2021-07-16 Bill Schmidt + + * config/rs6000/rs6000-gen-builtins.c (restriction): New enum. + (typeinfo): Add restr field. + (match_bracketed_pair): New function. + (match_const_restriction): Implement. + +2021-07-16 Bill Schmidt + + * config/rs6000/rs6000-gen-builtins.c (match_basetype): Implement. + +2021-07-16 Bill Schmidt + + * config/rs6000/rs6000-gen-builtins.c (void_status): New enum. + (basetype): Likewise. + (typeinfo): Likewise. + (handle_pointer): New function. + (match_basetype): New stub function. + (match_const_restriction): Likewise. + (match_type): New function. + +2021-07-16 Bill Schmidt + + * config/rs6000/rs6000-gen-builtins.c (consume_whitespace): New + function. + (advance_line): Likewise. + (safe_inc_pos): Likewise. + (match_identifier): Likewise. + (match_integer): Likewise. + (match_to_right_bracket): Likewise. + +2021-07-16 Bill Schmidt + + * config/rs6000/rs6000-gen-builtins.c (bif_file): New variable. + (ovld_file): Likewise. + (header_file): Likewise. + (init_file): Likewise. + (defines_file): Likewise. + (pgm_path): Likewise. + (bif_path): Likewise. + (ovld_path): Likewise. + (header_path): Likewise. + (init_path): Likewise. + (defines_path): Likewise. + (LINELEN): New macro. + (linebuf): New variable. + (line): Likewise. + (pos): Likewise. + (diag): Likewise. + (bif_diag): New function. + (ovld_diag): Likewise. + +2021-07-16 Bill Schmidt + + * config/rs6000/rs6000-builtin-new.def: New. + * config/rs6000/rs6000-overload.def: New. + +2021-07-16 Bill Schmidt + + * config/rs6000/rs6000-gen-builtins.c: New. + +2021-07-16 Bill Schmidt + + * Makefile.in (EXTRA_GTYPE_DEPS): New variable. + (s-gtype): Depend on EXTRA_GTYPE_DEPS. + * gengtype-state.c (state_writer::write_state_file_list): Add a + parameter to the fileslist expression for the number of build + headers to scan. + (read_state_files_list): Detect build headers and strip the + initial "./" or ".\" from their names. + * gengtype.c (build_headers): New global variable. + (num_build_headers): Likewise. + (open_base_files): Emit #include for each build header. + (main): Detect and count build headers. + * gengtype.h (build_headers): New extern variable. + (num_build_headers): Likewise. + +2021-07-16 Richard Biener + + * gimple-ssa-store-merging.c (verify_symbolic_number_p): Use + the type of the LHS. + (find_bswap_or_nop_1): Likewise. + (find_bswap_or_nop): Likewise. + * tree-vectorizer.h (vect_get_smallest_scalar_type): Adjust + prototype. + * tree-vect-data-refs.c (vect_get_smallest_scalar_type): + Remove unused parameters, pass in the scalar type. Fix + internal store function handling. + * tree-vect-stmts.c (vect_analyze_stmt): Remove assert. + (vect_get_vector_types_for_stmt): Move down check for + existing vector stmt after we've determined a scalar type. + Pass down the used scalar type to vect_get_smallest_scalar_type. + * tree-vect-generic.c (expand_vector_condition): Use + the type of the LHS. + (expand_vector_scalar_condition): Likewise. + (expand_vector_operations_1): Likewise. + * tree-vect-patterns.c (vect_widened_op_tree): Likewise. + (vect_recog_dot_prod_pattern): Likewise. + (vect_recog_sad_pattern): Likewise. + (vect_recog_widen_op_pattern): Likewise. + (vect_recog_widen_sum_pattern): Likewise. + (vect_recog_mixed_size_cond_pattern): Likewise. + +2021-07-16 Jan Hubicka + + * ipa-modref.c (struct escape_entry): Use eaf_fleags_t. + (dump_eaf_flags): Dump EAF_NOT_RETURNED + (eaf_flags_useful_p): Use eaf_fleags_t; handle const functions + and EAF_NOT_RETURNED. + (modref_summary::useful_p): Likewise. + (modref_summary_lto::useful_p): Likewise. + (struct) modref_summary_lto: Use eaf_fleags_t. + (deref_flags): Handle EAF_NOT_RETURNED. + (struct escape_point): Use min_flags. + (modref_lattice::init): Add EAF_NOT_RETURNED. + (merge_call_lhs_flags): Ignore EAF_NOT_RETURNED functions + (analyze_ssa_name_flags): Clear EAF_NOT_RETURNED on return; + handle call flags. + (analyze_parms): Also analyze const functions; update conition on + flags usefulness. + (modref_write): Update streaming. + (read_section): Update streaming. + (remap_arg_flags): Use eaf_flags_t. + (modref_merge_call_site_flags): Hanlde EAF_NOT_RETURNED. + * ipa-modref.h: (eaf_flags_t): New typedef. + (struct modref_summary): Use eaf_flags_t. + * tree-core.h (EAF_NOT_RETURNED): New constant. + +2021-07-16 Richard Biener + + * gimple-fold.c (gimple_fold_stmt_to_constant_1): Use + the type of the LHS. + (gimple_assign_nonnegative_warnv_p): Likewise. + (gimple_call_nonnegative_warnv_p): Likewise. Return false + if the call has no LHS. + * gimple.c (gimple_could_trap_p_1): Use the type of the LHS. + * tree-eh.c (stmt_could_throw_1_p): Likewise. + * tree-inline.c (insert_init_stmt): Likewise. + * tree-ssa-loop-niter.c (get_val_for): Likewise. + * tree-outof-ssa.c (ssa_is_replaceable_p): Use the type of + the def. + * tree-ssa-sccvn.c (init_vn_nary_op_from_stmt): Take a + gassign *. Use the type of the lhs. + (vn_nary_op_lookup_stmt): Adjust. + (vn_nary_op_insert_stmt): Likewise. + +2021-07-16 Ilya Leoshkevich + + * config/s390/predicates.md (bras_sym_operand): Accept all + functions in 64-bit mode, use UNSPEC_PLT31. + (larl_operand): Use UNSPEC_PLT31. + * config/s390/s390.c (s390_loadrelative_operand_p): Likewise. + (legitimize_pic_address): Likewise. + (s390_emit_tls_call_insn): Mark __tls_get_offset as function, + use UNSPEC_PLT31. + (s390_delegitimize_address): Use UNSPEC_PLT31. + (s390_output_addr_const_extra): Likewise. + (print_operand): Add @PLT to TLS calls, handle %K. + (s390_function_profiler): Mark __fentry__/_mcount as function, + use %K, use UNSPEC_PLT31. + (s390_output_mi_thunk): Use only UNSPEC_GOT, use %K. + (s390_emit_call): Use UNSPEC_PLT31. + (s390_emit_tpf_eh_return): Mark __tpf_eh_return as function. + * config/s390/s390.md (UNSPEC_PLT31): Rename from UNSPEC_PLT. + (*movdi_64): Use %K. + (reload_base_64): Likewise. + (*sibcall_brc): Likewise. + (*sibcall_brcl): Likewise. + (*sibcall_value_brc): Likewise. + (*sibcall_value_brcl): Likewise. + (*bras): Likewise. + (*brasl): Likewise. + (*bras_r): Likewise. + (*brasl_r): Likewise. + (*bras_tls): Likewise. + (*brasl_tls): Likewise. + (main_base_64): Likewise. + (reload_base_64): Likewise. + (@split_stack_call): Likewise. + +2021-07-16 Richard Biener + + PR tree-optimization/101467 + * tree-vect-stmts.c (vect_gen_while): Properly guard + make_temp_ssa_name usage. + +2021-07-16 Cooper Qu + + * config.gcc: Don't use forked print-sysroot-suffix.sh and + t-sysroot-suffix for C-SKY. + * config/csky/print-sysroot-suffix.sh: Delete. + * config/csky/t-csky-linux: Delete. + * config/csky/t-sysroot-suffix: Define MULTILIB_DIRNAMES + instead of CSKY_MULTILIB_DIRNAMES. + +2021-07-16 Richard Biener + + * tree-vect-loop.c (vect_transform_cycle_phi): Correct sign + conversion issues with the partial reduction of the reused + vector accumulator. + +2021-07-16 Richard Biener + + * config/i386/i386-options.c (ix86_option_override_internal): Set + param_vect_partial_vector_usage to zero if not set. + 2021-07-15 Uroš Bizjak PR target/101346 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 16244c60afd..4a190229b81 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20210716 +20210717 diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog index e6bd95c31e3..7b636365aad 100644 --- a/gcc/analyzer/ChangeLog +++ b/gcc/analyzer/ChangeLog @@ -1,3 +1,62 @@ +2021-07-16 David Malcolm + + * analyzer.h (enum access_direction): New. + * engine.cc (exploded_node::on_longjmp): Update for new param of + get_store_value. + * program-state.cc (program_state::prune_for_point): Likewise. + * region-model-impl-calls.cc (region_model::impl_call_memcpy): + Replace call to check_for_writable_region with call to + check_region_for_write. + (region_model::impl_call_memset): Likewise. + (region_model::impl_call_strcpy): Likewise. + * region-model-reachability.cc (reachable_regions::add): Update + for new param of get_store_value. + * region-model.cc (region_model::get_rvalue_1): Likewise, also for + get_rvalue_for_bits. + (region_model::get_store_value): Add ctxt param and use it to call + check_region_for_read. + (region_model::get_rvalue_for_bits): Add ctxt param and use it to + call get_store_value. + (region_model::check_region_access): New. + (region_model::check_region_for_write): New. + (region_model::check_region_for_read): New. + (region_model::set_value): Update comment. Replace call to + check_for_writable_region with call to check_region_for_write. + * region-model.h (region_model::get_rvalue_for_bits): Add ctxt + param. + (region_model::get_store_value): Add ctxt param. + (region_model::check_region_access): New decl. + (region_model::check_region_for_write): New decl. + (region_model::check_region_for_read): New decl. + * region.cc (region_model::copy_region): Update call to + get_store_value. + * svalue.cc (initial_svalue::implicitly_live_p): Likewise. + +2021-07-16 David Malcolm + + * engine.cc (exploded_node::on_stmt_pre): Handle + __analyzer_dump_state. + * program-state.cc (extrinsic_state::get_sm_idx_by_name): New. + (program_state::impl_call_analyzer_dump_state): New. + * program-state.h (extrinsic_state::get_sm_idx_by_name): New decl. + (program_state::impl_call_analyzer_dump_state): New decl. + * region-model-impl-calls.cc + (call_details::get_arg_string_literal): New. + * region-model.h (call_details::get_arg_string_literal): New decl. + +2021-07-16 David Malcolm + + * program-state.cc (program_state::detect_leaks): Simplify using + svalue::maybe_get_region. + * region-model-impl-calls.cc (region_model::impl_call_fgets): Likewise. + (region_model::impl_call_fread): Likewise. + (region_model::impl_call_free): Likewise. + (region_model::impl_call_operator_delete): Likewise. + * region-model.cc (selftest::test_stack_frames): Likewise. + (selftest::test_state_merging): Likewise. + * svalue.cc (svalue::maybe_get_region): New. + * svalue.h (svalue::maybe_get_region): New decl. + 2021-07-15 David Malcolm * svalue.h (is_a_helper ::test): Make diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 817f4c4079a..a0dea4c6799 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,9 @@ +2021-07-16 Andrew Pinski + + PR c/101453 + * c-common.c (parse_optimize_options): Use the correct + size for buffer. + 2021-07-15 Martin Sebor PR c/101289 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 0e2139ae470..0c4734fe036 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,21 @@ +2021-07-16 Patrick Palka + + PR c++/101233 + * pt.c (alias_ctad_tweaks): Clear cp_unevaluated_operand for + substituting DECL_ARGUMENTS. + +2021-07-16 Patrick Palka + + DR 960 + PR c++/99664 + * search.c (check_final_overrider): Compare TYPE_REF_IS_RVALUE + when the return types are references. + +2021-07-16 Marek Polacek + + * typeck2.c (check_narrowing): Don't suppress the pedantic error + in system headers. + 2021-07-15 Jakub Jelinek PR c++/101443 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7a9a29ea2b2..b53ce62259c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,72 @@ +2021-07-16 Patrick Palka + + PR c++/101233 + * g++.dg/cpp2a/class-deduction-alias10.C: New test. + +2021-07-16 Patrick Palka + + DR 960 + PR c++/99664 + * g++.dg/inherit/covariant23.C: New test. + +2021-07-16 David Malcolm + + * gcc.dg/analyzer/analyzer-decls.h (__analyzer_dump_state): New. + * gcc.dg/analyzer/dump-state.c: New test. + +2021-07-16 Martin Sebor + + PR testsuite/101468 + * gcc.dg/Wstringop-overflow-41.c: Adjust to avoid target-specific + failures. + * gcc.dg/Wstringop-overflow-42.c: Same. + * gcc.dg/Wstringop-overflow-68.c: Same. + * gcc.dg/Wstringop-overflow-70.c: Same. + * gcc.dg/Wstringop-overflow-71.c: Same. + * gcc.dg/strlenopt-95.c: Fix typos. + +2021-07-16 Tamar Christina + + PR middle-end/101457 + * gcc.dg/vect/vect-reduc-dot-19.c: Use long long. + * gcc.dg/vect/vect-reduc-dot-20.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-21.c: Likewise. + * gcc.dg/vect/vect-reduc-dot-22.c: Likewise. + +2021-07-16 Marek Polacek + + * g++.dg/cpp1y/Wnarrowing2.C: New test. + * g++.dg/cpp1y/Wnarrowing2.h: New test. + +2021-07-16 Ilya Leoshkevich + + * g++.dg/ext/visibility/noPLT.C: Skip on s390x. + * g++.target/s390/mi-thunk.C: New test. + * gcc.target/s390/nodatarel-1.c: Move foostatic to the new + tests. + * gcc.target/s390/pr80080-4.c: Allow @PLT suffix. + * gcc.target/s390/risbg-ll-3.c: Likewise. + * gcc.target/s390/call.h: Common code for the new tests. + * gcc.target/s390/call-z10-pic-nodatarel.c: New test. + * gcc.target/s390/call-z10-pic.c: New test. + * gcc.target/s390/call-z10.c: New test. + * gcc.target/s390/call-z9-pic-nodatarel.c: New test. + * gcc.target/s390/call-z9-pic.c: New test. + * gcc.target/s390/call-z9.c: New test. + * gcc.target/s390/mfentry-m64-pic.c: New test. + * gcc.target/s390/tls.h: Common code for the new TLS tests. + * gcc.target/s390/tls-pic.c: New test. + * gcc.target/s390/tls.c: New test. + +2021-07-16 Jonathan Wright + + * gcc.target/aarch64/sve/extract_1.c: Split expected results + by big/little endian targets, restoring the old expected + result for big endian. + * gcc.target/aarch64/sve/extract_2.c: Likewise. + * gcc.target/aarch64/sve/extract_3.c: Likewise. + * gcc.target/aarch64/sve/extract_4.c: Likewise. + 2021-07-15 Uroš Bizjak PR target/101346 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b4b7db7f730..e6eaa16bca8 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,88 @@ +2021-07-16 Jonathan Wakely + + * include/std/tuple (get): Add deleted overload for bad + index. + * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust + expected errors. + +2021-07-16 Jonathan Wakely + + * include/bits/max_size_type.h (numeric_limits<__max_size_type>): + Use __int_traits unconditionally. + +2021-07-16 Jonathan Wakely + + * include/bits/random.h (_Shift::__value): Use constexpr. + (_Select_uint_least_t::type): Use using-declaration. + (_Mod): Likewise. + * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error + line number. + +2021-07-16 Jonathan Wakely + + * include/bits/cpp_type_traits.h (__INT_N): Use __extension__ + instead of diagnostic pragmas. + * include/bits/functional_hash.h: Likewise. + * include/bits/iterator_concepts.h (__is_signed_int128) + (__is_unsigned_int128): Likewise. + * include/bits/max_size_type.h (__max_size_type): Likewise. + (numeric_limits<__max_size_type>): Likewise. + * include/bits/std_abs.h (abs): Likewise. + * include/bits/stl_algobase.h (__size_to_integer): Likewise. + * include/bits/uniform_int_dist.h (uniform_int_distribution): + Likewise. + * include/ext/numeric_traits.h (_GLIBCXX_INT_N_TRAITS): + Likewise. + * include/std/type_traits (__is_integral_helper) + (__is_signed_integer, __is_unsigned_integer) + (__make_unsigned, __make_signed): Likewise. + * include/std/limits (__INT_N): Add __extension__ keyword. + * include/bits/random.h (_Select_uint_least_t) + (random_device): Likewise. + +2021-07-16 Patrick Palka + + PR libstdc++/101231 + * include/std/ranges (_CachedPosition::_M_get): For non-forward + ranges, just call __builtin_unreachable. + * testsuite/std/ranges/istream_view.cc (test05): New test. + +2021-07-16 Patrick Palka + + PR libstdc++/101214 + * include/std/ranges (split_view::split_view): Use std::move. + (split_view::_Iterator::_Iterator): Remove redundant + default_initializable constraint. + (split_view::_Sentinel::_Sentinel): Declare. + * testsuite/std/ranges/adaptors/split.cc (test02): New test. + +2021-07-16 Marek Polacek + + * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Add + dg-error. + +2021-07-16 Jonathan Wakely + + * include/bits/unique_ptr.h: Adjust doxygen markup. + +2021-07-16 Jonathan Wakely + + PR libstdc++/101307 + * include/std/type_traits: Adjust doxygen markup. + +2021-07-16 Jonathan Wakely + + * include/bits/cpp_type_traits.h: Add diagnostic pragmas around + uses of non-standard integer types. + * include/bits/functional_hash.h: Likewise. + * include/bits/iterator_concepts.h: Likewise. + * include/bits/max_size_type.h: Likewise. + * include/bits/std_abs.h: Likewise. + * include/bits/stl_algobase.h: Likewise. + * include/bits/uniform_int_dist.h: Likewise. + * include/ext/numeric_traits.h: Likewise. + * include/std/type_traits: Likewise. + 2021-07-15 Jonathan Wakely PR libstdc++/101427