+2020-12-03 Martin Sebor <msebor@redhat.com>
+
+ PR c++/90629
+ PR middle-end/94527
+ * builtins.c (access_ref::access_ref): Initialize new member.
+ (compute_objsize): Use access_ref::deref. Handle simple pointer
+ assignment.
+ (expand_builtin): Remove handling of the free built-in.
+ (call_dealloc_argno): Same.
+ (find_assignment_location): New function.
+ (fndecl_alloc_p): Same.
+ (gimple_call_alloc_p): Same.
+ (call_dealloc_p): Same.
+ (matching_alloc_calls_p): Same.
+ (warn_dealloc_offset): Same.
+ (maybe_emit_free_warning): Same.
+ * builtins.h (struct access_ref): Declare new member.
+ (maybe_emit_free_warning): Make extern. Make use of access_ref.
+ Handle -Wmismatched-new-delete.
+ * calls.c (initialize_argument_information): Call
+ maybe_emit_free_warning.
+ * doc/extend.texi (attribute malloc): Update.
+ * doc/invoke.texi (-Wfree-nonheap-object): Expand documentation.
+ (-Wmismatched-new-delete): Document new option.
+ (-Wmismatched-dealloc): Document new option.
+
+2020-12-03 Alexandre Oliva <oliva@adacore.com>
+
+ * tree.c (build_common_builtin_nodes): Declare
+ __builtin___clear_cache for all languages.
+ * builtins.c (maybe_emit_call_builtin___clear_cache): Accept
+ Pmode arguments.
+
+2020-12-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/arm/t-rtems: Add "-mthumb -mcpu=cortex-r52
+ -mfloat-abi=hard" multilib.
+
+2020-12-03 Uroš Bizjak <ubizjak@gmail.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR target/98086
+ * config/i386/i386.c (ix86_md_asm_adjustmd): Rewrite
+ zero-extension part to use convert_to_mode.
+
+2020-12-03 Andreas Krebbel <krebbel@linux.ibm.com>
+
+ * config/s390/s390.md ("@probe_stack2<mode>"): Change mode
+ iterator to W.
+
+2020-12-03 Richard Sandiford <richard.sandiford@arm.com>
+
+ * config/aarch64/aarch64-sve-builtins-base.cc (svundef_impl::fold):
+ Delete.
+
+2020-12-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/98099
+ * expmed.c (flip_storage_order): In the case of a non-integer mode,
+ sorry out if the integer mode to be used instead is not supported.
+
+2020-12-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/98082
+ * function.c (use_register_for_decl): Also return true for a result
+ if cfun->tail_call_marked is true.
+
+2020-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR libstdc++/93121
+ * fold-const.h (native_encode_initializer): Add mask argument
+ defaulted to nullptr.
+ (find_bitfield_repr_type): Declare.
+ (native_interpret_aggregate): Declare.
+ * fold-const.c (find_bitfield_repr_type): New function.
+ (native_encode_initializer): Add mask argument and support for
+ filling it. Handle also some bitfields without integral
+ DECL_BIT_FIELD_REPRESENTATIVE.
+ (native_interpret_aggregate): New function.
+ * gimple-fold.h (clear_type_padding_in_mask): Declare.
+ * gimple-fold.c (struct clear_padding_struct): Add clear_in_mask
+ member.
+ (clear_padding_flush): Handle buf->clear_in_mask.
+ (clear_padding_union): Copy clear_in_mask. Don't error if
+ buf->clear_in_mask is set.
+ (clear_padding_type): Don't error if buf->clear_in_mask is set.
+ (clear_type_padding_in_mask): New function.
+ (gimple_fold_builtin_clear_padding): Set buf.clear_in_mask to false.
+ * doc/extend.texi (__builtin_bit_cast): Document.
+
+2020-12-03 Ilya Leoshkevich <iii@linux.ibm.com>
+
+ * tree-ssa-threadedge.c (record_temporary_equivalences_from_stmts_at_dest):
+ Do not allow __builtin_constant_p on a threading path.
+
+2020-12-03 Ilya Leoshkevich <iii@linux.ibm.com>
+
+ * tree-ssa-strlen.c (printf_strlen_execute): Avoid division by
+ 0.
+
+2020-12-03 Kito Cheng <kito.cheng@sifive.com>
+
+ * config/riscv/multilib-generator (arch_canonicalize): Move
+ code to arch-canonicalize, and call that script to canonicalize arch
+ string.
+ (canonical_order): Move code to arch-canonicalize.
+ (LONG_EXT_PREFIXES): Ditto.
+ (IMPLIED_EXT): Ditto.
+ * config/riscv/arch-canonicalize: New.
+ * config.gcc (riscv*-*-*): Canonicalize --with-arch.
+
+2020-12-03 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
+
+ * config/aarch64/aarch64-option-extensions.def
+ (AARCH64_OPT_EXTENSION): New +flagm option in -march for AArch64.
+ * config/aarch64/aarch64.h (AARCH64_FL_FLAGM): Add new flagm extension bit
+ mask.
+ (AARCH64_FL_FOR_ARCH8_4): Add flagm to Armv8.4-A.
+ * doc/invoke.texi: Update docs with +flagm.
+
+2020-12-03 liuhongt <hongtao.liu@intel.com>
+
+ PR target/96906
+ * config/i386/sse.md
+ (<avx512>_ucmp<mode>3<mask_scalar_merge_name>): Add a new
+ define_split after this insn.
+
+2020-12-03 liuhongt <hongtao.liu@intel.com>
+
+ PR target/97642
+ * config/i386/i386-expand.c
+ (ix86_expand_special_args_builtin): Don't move all-ones mask
+ operands into register.
+ * config/i386/sse.md (UNSPEC_MASKLOAD): New unspec.
+ (*<avx512>_load<mode>_mask): New define_insns for masked load
+ instructions.
+ (<avx512>_load<mode>_mask): Changed to define_expands which
+ specifically handle memory or all-ones mask operands.
+ (<avx512>_blendm<mode>): Changed to define_insns which are same
+ as original <avx512>_load<mode>_mask with adjustment of
+ operands order.
+ (*<avx512>_load<mode>): New define_insn_and_split which is
+ used to optimize for masked load with all one mask.
+
+2020-12-03 Hongyu Wang <hongyu.wang@intel.com>
+
+ PR target/97770
+ * config/i386/sse.md (popcount<mode>2): New expander
+ for SI/DI vector modes.
+ (popcount<mode>2): Likewise for QI/HI vector modes.
+
+2020-12-03 Alexandre Oliva <oliva@adacore.com>
+
+ * builtins.c (default_emit_call_builtin___clear_cache): New.
+ (maybe_emit_call_builtin___clear_cache): New.
+ (expand_builtin___clear_cache): Split into the above.
+ (expand_builtin): Do not issue clear_cache call any more.
+ * builtins.h (maybe_emit_call_builtin___clear_cache): Declare.
+ * config/aarch64/aarch64.c (aarch64_trampoline_init): Use
+ maybe_emit_call_builtin___clear_cache.
+ * config/arc/arc.c (arc_trampoline_init): Likewise.
+ * config/arm/arm.c (arm_trampoline_init): Likewise.
+ * config/c6x/c6x.c (c6x_initialize_trampoline): Likewise.
+ * config/csky/csky.c (csky_trampoline_init): Likewise.
+ * config/m68k/linux.h (FInALIZE_TRAMPOLINE): Likewise.
+ * config/tilegx/tilegx.c (tilegx_trampoline_init): Likewise.
+ * config/tilepro/tilepro.c (tilepro_trampoline_init): Ditto.
+ * config/vxworks.c: Include rtl.h, memmodel.h, and optabs.h.
+ (vxworks_emit_call_builtin___clear_cache): New.
+ * config/vxworks.h (CLEAR_INSN_CACHE): Drop.
+ (TARGET_EMIT_CALL_BUILTIN___CLEAR_CACHE): Define.
+ * target.def (trampoline_init): In the documentation, refer to
+ maybe_emit_call_builtin___clear_cache.
+ (emit_call_builtin___clear_cache): New.
+ * doc/tm.texi.in: Add new hook point.
+ (CLEAR_CACHE_INSN): Remove duplicate 'both'.
+ * doc/tm.texi: Rebuilt.
+ * targhooks.h (default_meit_call_builtin___clear_cache):
+ Declare.
+ * tree.h (BUILTIN_ASM_NAME_PTR): New.
+
+2020-12-03 Ilya Leoshkevich <iii@linux.ibm.com>
+
+ * tree-ssa-threadbackward.c (thread_jumps::profitable_jump_thread_path):
+ Do not allow __builtin_constant_p on a threading path.
+
2020-12-02 Jakub Jelinek <jakub@redhat.com>
* dwarf2out.c (add_scalar_info): Only use add_AT_wide for 128-bit
+2020-12-03 Martin Sebor <msebor@redhat.com>
+
+ PR c++/90629
+ PR middle-end/94527
+ * c-attribs.c (handle_dealloc_attribute): New function.
+ (handle_malloc_attribute): Handle argument forms of attribute.
+ * c.opt (-Wmismatched-dealloc): New option.
+ (-Wmismatched-new-delete): New option.
+
+2020-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR libstdc++/93121
+ * c-common.h (enum rid): Add RID_BUILTIN_BIT_CAST.
+ * c-common.c (c_common_reswords): Add __builtin_bit_cast.
+
2020-12-01 JeanHeyd Meneide <phdofthehouse@gmail.com>
* c-cppbuiltin.c (c_cpp_builtins): Add predefined
+2020-12-03 Jason Merrill <jason@redhat.com>
+
+ * cp-tree.h (releasing_vec::operator[]): Change parameter type to
+ ptrdiff_t.
+
+2020-12-03 Nathan Sidwell <nathan@acm.org>
+
+ * cp-tree.h (OVL_EXPORT): New.
+ (class ovl_iterator): Add get_using, exporting_p.
+ * tree.c (ovl_insert): Extend using_or_hidden meaning to include
+ an exported using.
+
+2020-12-03 Nathan Sidwell <nathan@acm.org>
+
+ * cp-tree.h (DECL_UNINSTANTIATED_TEMPLATE_FRIEND): New.
+ * pt.c (push_template_decl): Set it.
+ (tsubst_friend_function): Clear it.
+
+2020-12-03 Nathan Sidwell <nathan@acm.org>
+
+ * cp-tree.h (make_unbound_class_template_raw): Declare.
+ (canonical_type_parameter): Declare.
+ * decl.c (make_unbound_class_template_raw): Break out of ...
+ (make_unboud_class_template): ... here. Call it.
+ * pt.c (canonical_type_parameter): Externalize. Refactor & set
+ structural_equality for type parms.
+
+2020-12-03 Nathan Sidwell <nathan@acm.org>
+
+ PR c++/98107
+ * tree.c (build_cplus_array_type): Mark dependency of new variant.
+ (cp_build_qualified_type_real, strip_typedefs): Assert
+ TYPE_DEPENDENT_P_VALID, or not a dependent type.
+
+2020-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR libstdc++/93121
+ * cp-tree.h (cp_build_bit_cast): Declare.
+ * cp-tree.def (BIT_CAST_EXPR): New tree code.
+ * cp-objcp-common.c (names_builtin_p): Handle RID_BUILTIN_BIT_CAST.
+ (cp_common_init_ts): Handle BIT_CAST_EXPR.
+ * cxx-pretty-print.c (cxx_pretty_printer::postfix_expression):
+ Likewise.
+ * parser.c (cp_parser_postfix_expression): Handle
+ RID_BUILTIN_BIT_CAST.
+ * semantics.c (cp_build_bit_cast): New function.
+ * tree.c (cp_tree_equal): Handle BIT_CAST_EXPR.
+ (cp_walk_subtrees): Likewise.
+ * pt.c (tsubst_copy): Likewise.
+ * constexpr.c (check_bit_cast_type, cxx_eval_bit_cast): New functions.
+ (cxx_eval_constant_expression): Handle BIT_CAST_EXPR.
+ (potential_constant_expression_1): Likewise.
+ * cp-gimplify.c (cp_genericize_r): Likewise.
+
+2020-12-03 Jason Merrill <jason@redhat.com>
+
+ * parser.c (cp_parser_primary_expression): Distinguish
+ parms from vars in error.
+ (cp_parser_late_parsing_default_args): Pushdecl parms
+ as we go.
+
+2020-12-03 Jason Merrill <jason@redhat.com>
+
+ * name-lookup.c (begin_scope): Set immediate_fn_ctx_p.
+ * parser.c (cp_parser_late_parsing_default_args): Push
+ sk_function_parms scope.
+
2020-12-03 Peter Bergner <bergner@linux.ibm.com>
PR c++/97947
+2020-12-03 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/95342
+ * decl.c (gfc_match_function_decl): Avoid NULL pointer dereference.
+ (gfc_match_subroutine): Likewise.
+
2020-11-30 Tobias Burnus <tobias@codesourcery.com>
PR fortran/98011
+2020-12-03 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp2a/concepts-nodiscard1.C: XFAIL.
+
+2020-12-03 Martin Sebor <msebor@redhat.com>
+
+ PR c++/90629
+ PR middle-end/94527
+ * g++.dg/asan/asan_test.cc: Fix a bug.
+ * g++.dg/warn/delete-array-1.C: Add expected warning.
+ * g++.old-deja/g++.other/delete2.C: Add expected warning.
+ * g++.dg/warn/Wfree-nonheap-object-2.C: New test.
+ * g++.dg/warn/Wfree-nonheap-object.C: New test.
+ * g++.dg/warn/Wmismatched-new-delete.C: New test.
+ * g++.dg/warn/Wmismatched-dealloc-2.C: New test.
+ * g++.dg/warn/Wmismatched-dealloc.C: New test.
+ * gcc.dg/Wmismatched-dealloc.c: New test.
+ * gcc.dg/analyzer/malloc-1.c: Prune out expected warning.
+ * gcc.dg/attr-malloc.c: New test.
+ * gcc.dg/free-1.c: Adjust text of expected warning.
+ * gcc.dg/free-2.c: Same.
+ * gcc.dg/torture/pr71816.c: Prune out expected warning.
+ * gcc.dg/tree-ssa/pr19831-2.c: Add an expected warning.
+ * gcc.dg/Wfree-nonheap-object-2.c: New test.
+ * gcc.dg/Wfree-nonheap-object-3.c: New test.
+ * gcc.dg/Wfree-nonheap-object.c: New test.
+ * g++.dg/warn/Wfree-nonheap-object.s: New file.
+
+2020-12-03 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/95342
+ * gfortran.dg/pr95342.f90: New test.
+
+2020-12-03 Ian Lance Taylor <iant@golang.org>
+
+ * go.test/go-test.exp (go-gc-tests): Add -I. when building all
+ sources in a directory (errorcheckdir, compiledir, rundir,
+ rundircmpout).
+
+2020-12-03 Jason Merrill <jason@redhat.com>
+
+ PR c++/98019
+ * g++.dg/cpp2a/concepts-nodiscard1.C: New test.
+
+2020-12-03 Uroš Bizjak <ubizjak@gmail.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR target/98086
+ * gcc.target/i386/pr98086.c: New test.
+
+2020-12-03 Nathan Sidwell <nathan@acm.org>
+
+ PR c++/98115
+ PR c++/98116
+ * g++.dg/template/pr98115.C: New.
+ * g++.dg/template/pr98116.C: New.
+
+2020-12-03 Andreas Krebbel <krebbel@linux.ibm.com>
+
+ * gcc.target/s390/stack-clash-4.c: New test.
+
+2020-12-03 Richard Sandiford <richard.sandiford@arm.com>
+
+ * gcc.target/aarch64/sve/acle/general/undef_1.c: New test.
+
+2020-12-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/pr98099.c: New test.
+
+2020-12-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * g++.dg/cpp2a/pr98082.C: New test.
+
+2020-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR libstdc++/93121
+ * g++.dg/cpp2a/bit-cast1.C: New test.
+ * g++.dg/cpp2a/bit-cast2.C: New test.
+ * g++.dg/cpp2a/bit-cast3.C: New test.
+ * g++.dg/cpp2a/bit-cast4.C: New test.
+ * g++.dg/cpp2a/bit-cast5.C: New test.
+
+2020-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ * g++.dg/cpp2a/consteval-defarg2.C: New test.
+
+2020-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/98104
+ * g++.dg/warn/pr98104.C: New test.
+
+2020-12-03 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx512bw-pr96906-1.c: New test.
+ * gcc.target/i386/pr96906-1.c: Add -mno-avx512f.
+
+2020-12-03 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/avx512bw-vmovdqu16-1.c: Adjust testcase to
+ make sure only masked load instruction is generated.
+ * gcc.target/i386/avx512bw-vmovdqu8-1.c: Ditto.
+ * gcc.target/i386/avx512f-vmovapd-1.c: Ditto.
+ * gcc.target/i386/avx512f-vmovaps-1.c: Ditto.
+ * gcc.target/i386/avx512f-vmovdqa32-1.c: Ditto.
+ * gcc.target/i386/avx512f-vmovdqa64-1.c: Ditto.
+ * gcc.target/i386/avx512vl-vmovapd-1.c: Ditto.
+ * gcc.target/i386/avx512vl-vmovaps-1.c: Ditto.
+ * gcc.target/i386/avx512vl-vmovdqa32-1.c: Ditto.
+ * gcc.target/i386/avx512vl-vmovdqa64-1.c: Ditto.
+ * gcc.target/i386/pr97642-1.c: New test.
+ * gcc.target/i386/pr97642-2.c: New test.
+
+2020-12-03 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/parse/defarg17.C: New test.
+
+2020-12-03 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp2a/consteval-defarg1.C: New test.
+
+2020-12-03 Hongyu Wang <hongyu.wang@intel.com>
+
+ PR target/97770
+ * gcc.target/i386/avx512bitalg-pr97770-1.c: New test.
+ * gcc.target/i386/avx512vpopcntdq-pr97770-1.c: Likewise.
+ * gcc.target/i386/avx512vpopcntdq-pr97770-2.c: Likewise.
+ * gcc.target/i386/avx512vpopcntdqvl-pr97770-1.c: Likewise.
+
+2020-12-03 Alexandre Oliva <oliva@adacore.com>
+
+ * lib/options.exp (check_for_options_with_filter): Detect
+ unavailable compiler for the selected language, and bail out
+ as unsupported.
+
+2020-12-03 Martin Sebor <msebor@redhat.com>
+
+ * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust expected warnings
+ to correctly reflect the maximum object size.
+ * gcc.dg/tree-ssa/builtin-sprintf-warn-11.c: Same.
+ * gcc.dg/tree-ssa/builtin-sprintf-warn-18.c: Same.
+
+2020-12-03 Ilya Leoshkevich <iii@linux.ibm.com>
+
+ * gcc.target/s390/builtin-constant-p-threading.c: New test.
+
2020-12-03 Peter Bergner <bergner@linux.ibm.com>
PR c++/97947
+2020-12-03 Michael Meissner <meissner@linux.ibm.com>
+
+ PR libgcc/97543
+ PR libgcc/97643
+ * config/rs6000/t-linux (IBM128_STATIC_OBJS): New make variable.
+ (IBM128_SHARED_OBJS): New make variable.
+ (IBM128_OBJS): New make variable. Set all objects to use the
+ explicit IBM format, and disable gnu attributes.
+ (IBM128_CFLAGS): New make variable.
+ (gcc_s_compile): Add -mno-gnu-attribute to all shared library
+ modules.
+
+2020-12-03 Alexandre Oliva <oliva@adacore.com>
+
+ * config/t-vxworks (LIB2ADD): Drop.
+ * config/t-vxworks7 (LIB2ADD): Likewise.
+ * config/vxcache.c: Remove.
+
2020-11-30 Stefan Kanthak <stefan.kanthak@nexgo.de>
* libgcc2.c (bswapsi2): Make constants unsigned.
+2020-12-03 Martin Sebor <msebor@redhat.com>
+
+ * testsuite/ext/vstring/modifiers/clear/56166.cc: Suppress a false
+ positive warning.
+
+2020-12-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Remove stray
+ word from copy&paste.
+ * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise.
+
+2020-12-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2020.xml: Update C++20 status.
+ * doc/html/*: Regenerate.
+
+2020-12-03 JeanHeyd Meneide <phdofthehouse@gmail.com>
+
+ * doc/doxygen/user.cfg.in (INPUT): Add <source_location>.
+ * include/Makefile.am: Add <source_location>.
+ * include/Makefile.in: Regenerate.
+ * include/std/version (__cpp_lib_source_location): Define.
+ * include/std/source_location: New file.
+ * testsuite/18_support/source_location/1.cc: New test.
+ * testsuite/18_support/source_location/consteval.cc: New test.
+ * testsuite/18_support/source_location/srcloc.h: New test.
+ * testsuite/18_support/source_location/version.cc: New test.
+
+2020-12-03 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/93121
+ * include/std/bit (__cpp_lib_bit_cast, bit_cast): Define.
+ * include/std/version (__cpp_lib_bit_cast): Define.
+ * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: New test.
+ * testsuite/26_numerics/bit/bit.cast/version.cc: New test.
+
+2020-12-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt:
+ Update.
+ * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
+ Update.
+
+2020-12-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/array (array::operator[](size_t) const, array::front() const)
+ (array::back() const) [__cplusplus == 201103]: Disable
+ assertions.
+ * testsuite/23_containers/array/element_access/constexpr_element_access.cc:
+ Check for correct values.
+ * testsuite/23_containers/array/tuple_interface/get_neg.cc:
+ Adjust dg-error line numbers.
+ * testsuite/23_containers/array/debug/constexpr_c++11.cc: New test.
+
2020-12-02 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/65480