diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f0016e9445c..64743bc0642 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,130 @@ +2020-11-20 Michael Meissner + + * config/rs6000/rs6000-call.c (rs6000_expand_builtin): Add missing + XSCMP* cases for IEEE 128-bit long double. + +2020-11-20 Jason Merrill + + PR c++/97918 + * dwarf2out.c (dwarf2out_early_finish): flush_limbo_die_list + after gen_scheduled_generic_parms_dies. + +2020-11-20 Martin Sebor + + PR middle-end/97879 + * tree-core.h (enum attribute_flags): Add ATTR_FLAG_INTERNAL. + +2020-11-20 Jan Hubicka + + * ipa-icf-gimple.c (func_checker::hash_operand): Improve hashing of + decls. + +2020-11-20 Jan Hubicka + + * ipa-icf-gimple.c (func_checker::compare_decl): Do not compare types + of local variables. + +2020-11-20 Nathan Sidwell + + * doc/invoke.texi: Replace a couple of @code with @command + +2020-11-20 Tamar Christina + + * tree-vect-slp.c (vectorizable_slp_permutation): Update types on nodes + when needed. + +2020-11-20 Richard Biener + + * tree-vect-slp.c (maybe_push_to_hybrid_worklist): New function. + (vect_detect_hybrid_slp): Use it. Perform a backward walk + over the IL. + +2020-11-20 Richard Biener + + * tree-vect-slp.c (vect_print_slp_tree): Also dump + SLP_TREE_REPRESENTATIVE. + +2020-11-20 Jakub Jelinek + + PR libstdc++/88101 + * builtins.def (BUILT_IN_CLEAR_PADDING): New built-in function. + * gimplify.c (gimplify_call_expr): Rewrite single argument + BUILT_IN_CLEAR_PADDING into two-argument variant. + * gimple-fold.c (clear_padding_unit, clear_padding_buf_size): New + const variables. + (struct clear_padding_struct): New type. + (clear_padding_flush, clear_padding_add_padding, + clear_padding_emit_loop, clear_padding_type, + clear_padding_union, clear_padding_real_needs_padding_p, + clear_padding_type_may_have_padding_p, + gimple_fold_builtin_clear_padding): New functions. + (gimple_fold_builtin): Handle BUILT_IN_CLEAR_PADDING. + * doc/extend.texi (__builtin_clear_padding): Document. + +2020-11-20 Jakub Jelinek + + PR target/97528 + * config/arm/arm.c (neon_vector_mem_operand): For POST_MODIFY, require + first POST_MODIFY operand is a REG and is equal to the first operand + of PLUS. + +2020-11-20 Eric Botcazou + + * gimple-ssa-store-merging.c (struct merged_store_group): Add + new 'consecutive' field. + (merged_store_group): Set it to true. + (do_merge): Set it to false if the store is not consecutive and + set string_concatenation to false in this case. + (merge_into): Call do_merge on entry. + (merge_overlapping): Likewise. + +2020-11-20 Jan Hubicka + + * ipa-icf-gimple.c (func_checker::operand_equal_p): Fix comment. + +2020-11-20 Jan Hubicka + + * ipa-icf-gimple.c (func_checker::hash_operand): Hash gimple clobber. + (func_checker::operand_equal_p): Special case gimple clobber. + +2020-11-20 Uroš Bizjak + + PR target/97873 + * config/i386/i386.md (*neg2_2): Rename from + "*neg2_cmpz". Use CCGOCmode instead of CCZmode. + (*negsi2_zext): Rename from *negsi2_cmpz_zext. + Use CCGOCmode instead of CCZmode. + (*neg_ccc_1): New insn pattern. + (*neg2_doubleword): Use *neg_ccc_1. + (abs2): Add FLAGS_REG clobber. + Use TARGET_CMOVE insn predicate. + (*abs2_1): New insn_and_split pattern. + (*absdi2_doubleword): Ditto. + (3): Use SWI48x mode iterator. + (*3): Use SWI48 mode iterator. + * config/i386/i386-features.c + (general_scalar_chain::compute_convert_gain): Handle ABS code. + (general_scalar_chain::convert_insn): Ditto. + (general_scalar_to_vector_candidate_p): Ditto. + +2020-11-20 Jakub Jelinek + + PR other/97911 + * configure.ac: In SERIAL_LIST use lang words without .serial + suffix. Change $lang.prev from a target to variable and instead + of depending on *.serial expand to the *.serial variable if + the word is in the SERIAL_LIST at all, otherwise to nothing. + * configure: Regenerated. + +2020-11-20 Kewen Lin + + * config/rs6000/rs6000.md (p8_mtvsrd_df): Fix insn type. + +2020-11-20 Martin Uecker + + * gimplify.c (gimplify_modify_expr_rhs): Optimizie + NOP_EXPRs that contain compound literals. + 2020-11-19 Jakub Jelinek PR tree-optimization/91029 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index e732e26b1c7..1867e9391c3 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20201120 +20201121 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 162ca0716ab..01c02e3d394 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,17 @@ +2020-11-20 Maciej W. Rozycki + + * adaint.c (__gnat_number_of_cpus): Check for the presence of + _SC_NPROCESSORS_ONLN rather than a list of OS-specific macros + to decide whether to use `sysconf'. + +2020-11-20 Jakub Jelinek + + PR other/97911 + * gcc-interface/Make-lang.in (ada.serial): Change from goal to a + variable. + (.PHONY): Drop ada.serial and ada.prev. + (gnat1$(exeext)): Depend on $(ada.serial) rather than ada.serial. + 2020-11-19 Eric Botcazou PR ada/97805 diff --git a/gcc/brig/ChangeLog b/gcc/brig/ChangeLog index 170fdf7c4cc..518b13aecbe 100644 --- a/gcc/brig/ChangeLog +++ b/gcc/brig/ChangeLog @@ -1,3 +1,10 @@ +2020-11-20 Jakub Jelinek + + PR other/97911 + * Make-lang.in (brig.serial): Change from goal to a variable. + (.PHONY): Drop brig.serial and brig.prev. + (brig1$(exeext)): Depend on $(brig.serial) rather than brig.serial. + 2020-11-18 Jakub Jelinek * Make-lang.in (brig.serial): New goal. diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 42c20f01616..0d1445f454e 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,20 @@ +2020-11-20 Martin Sebor + + * c-warn.c (warn_parm_array_mismatch): Bail on invalid redeclarations + with fewer arguments. + +2020-11-20 Martin Sebor + + PR middle-end/97879 + * c-attribs.c (handle_access_attribute): Handle ATTR_FLAG_INTERNAL. + Error out on invalid modes. + +2020-11-20 Jakub Jelinek + + PR libstdc++/88101 + * c-common.c (check_builtin_function_arguments): Handle + BUILT_IN_CLEAR_PADDING. + 2020-11-18 Nathan Sidwell * c-lex.c (c_lex_with_flags): CPP_HEADER_NAMEs can now be seen. diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 36c863680e1..c97a9f7c6b4 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,18 @@ +2020-11-20 Martin Sebor + + PR middle-end/97879 + * c-decl.c (start_function): Set ATTR_FLAG_INTERNAL in flags. + +2020-11-20 Jakub Jelinek + + PR other/97911 + * Make-lang.in (c.serial): Change from goal to a variable. + (.PHONY): Drop c.serial. + +2020-11-20 Martin Uecker + + * c-typeck.c (convert_lvalue_to_rvalue): Drop qualifiers. + 2020-11-19 Jakub Jelinek PR c/97860 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index b710170236d..bc3bbe3b51b 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,10 @@ +2020-11-20 Jakub Jelinek + + PR other/97911 + * Make-lang.in (c++.serial): Change from goal to a variable. + (.PHONY): Drop c++.serial and c++.prev. + (cc1plus$(exeext)): Depend on $(c++.serial) rather than c++.serial. + 2020-11-19 Nathan Sidwell * cp-tree.h (struct spec_entry): Moved from pt.c. diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index 3e23bfeb55d..ae1034e5ee0 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,10 @@ +2020-11-20 Jakub Jelinek + + PR other/97911 + * Make-lang.in (d.serial): Change from goal to a variable. + (.PHONY): Drop d.serial and d.prev. + (d21$(exeext)): Depend on $(d.serial) rather than d.serial. + 2020-11-18 Jakub Jelinek * Make-lang.in (d.serial): New goal. diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 6e204d3f4a6..998ad9c1c08 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,11 @@ +2020-11-20 Jakub Jelinek + + PR other/97911 + * Make-lang.in (fortran.serial): Change from goal to a variable. + (.PHONY): Drop fortran.serial and fortran.prev. + (f951$(exeext)): Depend on $(fortran.serial) rather than + fortran.serial. + 2020-11-18 Jakub Jelinek * Make-lang.in (fortran.serial): New goal. diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog index f7f861f3646..5ed46d6e60c 100644 --- a/gcc/go/ChangeLog +++ b/gcc/go/ChangeLog @@ -1,3 +1,10 @@ +2020-11-20 Jakub Jelinek + + PR other/97911 + * Make-lang.in (go.serial): Change from goal to a variable. + (.PHONY): Drop go.serial and go.prev. + (go1$(exeext)): Depend on $(go.serial) rather than go.serial. + 2020-11-18 Jakub Jelinek * Make-lang.in (go.serial): New goal. diff --git a/gcc/jit/ChangeLog b/gcc/jit/ChangeLog index 7dc02cc6a8e..28e33023bfc 100644 --- a/gcc/jit/ChangeLog +++ b/gcc/jit/ChangeLog @@ -1,3 +1,12 @@ +2020-11-20 Jakub Jelinek + + PR other/97911 + * Make-lang.in (jit.serial): Change from goal to a + variable. + (.PHONY): Drop jit.serial and jit.prev. + ($(LIBGCCJIT_FILENAME)): Depend on $(jit.serial) rather than + jit.serial. + 2020-11-18 Jakub Jelinek * Make-lang.in (jit.serial): New goal. diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index e03b949ad07..25c90638d30 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,12 @@ +2020-11-20 Jakub Jelinek + + PR other/97911 + * Make-lang.in (lto1.serial, lto2.serial): Change from goals to + variables. + (.PHONY): Drop lto1.serial, lto2.serial, lto1.prev and lto2.prev. + ($(LTO_EXE)): Depend on $(lto1.serial) rather than lto1.serial. + ($(LTO_DUMP_EXE)): Depend on $(lto2.serial) rather than lto2.serial. + 2020-11-18 Jerry Clcanny * lto-symtab.c (lto_symtab_merge_symbols): Fix typos in comment. diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index 2b3331c756a..3e83a4f7cfb 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,10 @@ +2020-11-20 Jakub Jelinek + + PR other/97911 + * Make-lang.in (objc.serial): Change from goal to a variable. + (.PHONY): Drop objc.serial and objc.prev. + (cc1obj$(exeext)): Depend on $(objc.serial) rather than objc.serial. + 2020-11-18 Jakub Jelinek * Make-lang.in (objc.serial): New goal. diff --git a/gcc/objcp/ChangeLog b/gcc/objcp/ChangeLog index b5c98c2e4f3..0b257a96e64 100644 --- a/gcc/objcp/ChangeLog +++ b/gcc/objcp/ChangeLog @@ -1,3 +1,11 @@ +2020-11-20 Jakub Jelinek + + PR other/97911 + * Make-lang.in (obj-c++.serial): Change from goal to a variable. + (.PHONY): Drop obj-c++.serial and obj-c++.prev. + (cc1objplus$(exeext)): Depend on $(obj-c++.serial) rather than + obj-c++.serial. + 2020-11-18 Jakub Jelinek * Make-lang.in (obj-c++.serial): New goal. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 88fd83d68c1..db07b73117c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,82 @@ +2020-11-20 Michael Meissner + + * gcc.dg/nextafter-2.c: Include math.h. + +2020-11-20 Jason Merrill + + PR c++/97918 + * g++.dg/debug/localclass2.C: New test. + +2020-11-20 Martin Sebor + + * gcc.dg/attr-access-4.c: New test. + +2020-11-20 Martin Sebor + + PR middle-end/97879 + * gcc.dg/attr-access-3.c: New test. + +2020-11-20 Andrew MacLeod + + * gcc.dg/pr97515.c: Check in ccp2, not evrp. + +2020-11-20 Andrea Corallo + + PR target/97727 + * gcc.target/aarch64/advsimd-intrinsics/bf16_vstN_lane_2.c: Relax + regexps. + +2020-11-20 Andrea Corallo + + PR target/97726 + * gcc.target/arm/simd/bf16_vldn_1.c: Relax regexps not to fail on + big endian. + * gcc.target/arm/simd/vldn_lane_bf16_1.c: Likewise + * gcc.target/arm/simd/vmmla_1.c: Add -mfloat-abi=hard flag. + +2020-11-20 Jakub Jelinek + + PR libstdc++/88101 + * c-c++-common/builtin-clear-padding-1.c: New test. + * c-c++-common/torture/builtin-clear-padding-1.c: New test. + * c-c++-common/torture/builtin-clear-padding-2.c: New test. + * c-c++-common/torture/builtin-clear-padding-3.c: New test. + * c-c++-common/torture/builtin-clear-padding-4.c: New test. + * c-c++-common/torture/builtin-clear-padding-5.c: New test. + * g++.dg/torture/builtin-clear-padding-1.C: New test. + * g++.dg/torture/builtin-clear-padding-2.C: New test. + * gcc.dg/builtin-clear-padding-1.c: New test. + +2020-11-20 Jakub Jelinek + + PR target/97528 + * gcc.target/arm/pr97528.c: New test. + +2020-11-20 Eric Botcazou + + * gnat.dg/opt90a.adb: New test. + * gnat.dg/opt90b.adb: Likewise. + * gnat.dg/opt90c.adb: Likewise. + * gnat.dg/opt90d.adb: Likewise. + * gnat.dg/opt90e.adb: Likewise. + * gnat.dg/opt90a_pkg.ads: New helper. + * gnat.dg/opt90b_pkg.ads: Likewise. + * gnat.dg/opt90c_pkg.ads: Likewise. + * gnat.dg/opt90d_pkg.ads: Likewise. + * gnat.dg/opt90e_pkg.ads: Likewise. + +2020-11-20 Uroš Bizjak + + PR target/97873 + * gcc.target/i386/pr97873.c: New test. + * gcc.target/i386/pr97873-1.c: New test. + +2020-11-20 Martin Uecker + + * gcc.dg/cond-constqual-1.c: Adapt test. + * gcc.dg/lvalue-11.c: New test. + * gcc.dg/pr60195.c: Add warning. + 2020-11-19 Jakub Jelinek PR tree-optimization/91029 diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 7ebed646124..62a6914f68c 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2020-11-20 Maciej W. Rozycki + + * unwind-dw2-fde-dip.c [__OpenBSD__ || __NetBSD__] + (USE_PT_GNU_EH_FRAME): Do not define if !TARGET_DL_ITERATE_PHDR. + 2020-11-18 Jozef Lawrynowicz * config/msp430/lib2hw_mul.S (mult64_hw): New. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 53b2d76cd05..9d92483e309 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,97 @@ +2020-11-20 Thomas Rodgers + + * include/Makefile.am (bits_headers): Add new header. + * include/Makefile.in: Regenerate. + * include/bits/atomic_base.h (__atomic_flag::wait): Define. + (__atomic_flag::notify_one): Likewise. + (__atomic_flag::notify_all): Likewise. + (__atomic_base<_Itp>::wait): Likewise. + (__atomic_base<_Itp>::notify_one): Likewise. + (__atomic_base<_Itp>::notify_all): Likewise. + (__atomic_base<_Ptp*>::wait): Likewise. + (__atomic_base<_Ptp*>::notify_one): Likewise. + (__atomic_base<_Ptp*>::notify_all): Likewise. + (__atomic_impl::wait): Likewise. + (__atomic_impl::notify_one): Likewise. + (__atomic_impl::notify_all): Likewise. + (__atomic_float<_Fp>::wait): Likewise. + (__atomic_float<_Fp>::notify_one): Likewise. + (__atomic_float<_Fp>::notify_all): Likewise. + (__atomic_ref<_Tp>::wait): Likewise. + (__atomic_ref<_Tp>::notify_one): Likewise. + (__atomic_ref<_Tp>::notify_all): Likewise. + (atomic_wait<_Tp>): Likewise. + (atomic_wait_explicit<_Tp>): Likewise. + (atomic_notify_one<_Tp>): Likewise. + (atomic_notify_all<_Tp>): Likewise. + * include/bits/atomic_wait.h: New file. + * include/bits/atomic_timed_wait.h: New file. + * include/bits/semaphore_base.h: New file. + * include/std/atomic (atomic::wait): Define. + (atomic::wait_one): Likewise. + (atomic::wait_all): Likewise. + (atomic<_Tp>::wait): Likewise. + (atomic<_Tp>::wait_one): Likewise. + (atomic<_Tp>::wait_all): Likewise. + (atomic<_Tp*>::wait): Likewise. + (atomic<_Tp*>::wait_one): Likewise. + (atomic<_Tp*>::wait_all): Likewise. + * include/std/latch: New file. + * include/std/semaphore: New file. + * include/std/version: Add __cpp_lib_semaphore and + __cpp_lib_latch defines. + * testsuite/29_atomics/atomic/wait_notify/bool.cc: New test. + * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/generic.cc: Liekwise. + * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise. + * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise. + * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise. + * testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise. + * testsuite/30_threads/semaphore/1.cc: New test. + * testsuite/30_threads/semaphore/2.cc: Likewise. + * testsuite/30_threads/semaphore/least_max_value_neg.cc: Likewise. + * testsuite/30_threads/semaphore/try_acquire.cc: Likewise. + * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise. + * testsuite/30_threads/semaphore/try_acquire_posix.cc: Likewise. + * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. + * testsuite/30_threads/latch/1.cc: New test. + * testsuite/30_threads/latch/2.cc: New test. + * testsuite/30_threads/latch/3.cc: New test. + * testsuite/util/atomic/wait_notify_util.h: New File. + +2020-11-20 François Dumont + + PR libstdc++/83938 + * include/bits/stl_tempbuf.h (get_temporary_buffer): Change __len + computation in the loop to avoid truncation. + * include/bits/stl_algo.h: + (__inplace_merge): Take temporary buffer length from smallest range. + (__stable_sort): Limit temporary buffer length. + * testsuite/25_algorithms/inplace_merge/1.cc (test4): New. + * testsuite/performance/25_algorithms/stable_sort.cc: Test stable_sort + under different heap memory conditions. + * testsuite/performance/25_algorithms/inplace_merge.cc: New test. + +2020-11-20 François Dumont + + * include/bits/move.h (_GLIBCXX_FWDREF): New. + * include/bits/stl_tree.h: Adapt to use latter. + (_Rb_tree<>::_M_clone_node): Add _MoveValue template parameter. + (_Rb_tree<>::_M_mbegin): New. + (_Rb_tree<>::_M_begin): Use latter. + (_Rb_tree<>::_M_copy): Add _MoveValues template parameter. + * testsuite/23_containers/map/allocator/move_cons.cc: New test. + * testsuite/23_containers/multimap/allocator/move_cons.cc: New test. + * testsuite/23_containers/multiset/allocator/move_cons.cc: New test. + * testsuite/23_containers/set/allocator/move_cons.cc: New test. + +2020-11-20 Jonathan Wakely + + PR libstdc++/92546 + * include/std/regex (pmr::smatch, pmr::wsmatch): Declare using + underlying __normal_iterator type, not nested typedef + basic_string::const_iterator. + 2020-11-19 Jonathan Wakely PR libstdc++/95989