+2021-01-18 Vladimir N. Makarov <vmakarov@redhat.com>
+
+ PR target/97847
+ * ira.c (ira): Skip abnormal critical edge splitting.
+
+2021-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/98727
+ * tree-ssa-math-opts.c (match_arith_overflow): Fix up computation of
+ second .MUL_OVERFLOW operand for signed multiplication with overflow
+ checking if the second operand of multiplication is not constant.
+
+2021-01-18 David Edelsohn <dje.gcc@gmail.com>
+
+ * doc/invoke.texi (-gdwarf): TPF defaults to version 2 and AIX
+ defaults to version 4.
+
+2021-01-18 David Malcolm <dmalcolm@redhat.com>
+
+ * attribs.h (fndecl_dealloc_argno): New decl.
+ * builtins.c (call_dealloc_argno): Split out second half of
+ function into...
+ (fndecl_dealloc_argno): New.
+ * doc/extend.texi (Common Function Attributes): Document the
+ interaction between the analyzer and the malloc attribute.
+ * doc/invoke.texi (Static Analyzer Options): Likewise.
+
2021-01-17 David Edelsohn <dje.gcc@gmail.com>
* config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Override
+2021-01-18 David Malcolm <dmalcolm@redhat.com>
+
+ * analyzer.h (is_std_named_call_p): New decl.
+ * diagnostic-manager.cc (path_builder::get_sm): New.
+ (state_change_event_creator::state_change_event_creator): Add "pb"
+ param.
+ (state_change_event_creator::on_global_state_change): Don't consider
+ state changes affecting other state_machines.
+ (state_change_event_creator::on_state_change): Likewise.
+ (state_change_event_creator::m_pb): New field.
+ (diagnostic_manager::add_events_for_eedge): Pass pb to visitor
+ ctor.
+ * region-model-impl-calls.cc
+ (region_model::impl_deallocation_call): New.
+ * region-model.cc: Include "attribs.h".
+ (region_model::on_call_post): Handle fndecls referenced by
+ __attribute__((deallocated_by(FOO))).
+ * region-model.h (region_model::impl_deallocation_call): New decl.
+ * sm-malloc.cc: Include "stringpool.h" and "attribs.h". Add
+ leading comment.
+ (class api): Delete.
+ (enum resource_state): Update comment for change from api to
+ deallocator and deallocator_set.
+ (allocation_state::allocation_state): Drop api param. Add
+ "deallocators" and "deallocator".
+ (allocation_state::m_api): Drop field in favor of...
+ (allocation_state::m_deallocators): New field.
+ (allocation_state::m_deallocator): New field.
+ (enum wording): Add WORDING_DEALLOCATED.
+ (struct deallocator): New.
+ (struct standard_deallocator): New.
+ (struct custom_deallocator): New.
+ (struct deallocator_set): New.
+ (struct custom_deallocator_set): New.
+ (struct standard_deallocator_set): New.
+ (struct deallocator_set_map_traits): New.
+ (malloc_state_machine::m_malloc): Drop field
+ (malloc_state_machine::m_scalar_new): Likewise.
+ (malloc_state_machine::m_vector_new): Likewise.
+ (malloc_state_machine::m_free): New field
+ (malloc_state_machine::m_scalar_delete): Likewise.
+ (malloc_state_machine::m_vector_delete): Likewise.
+ (malloc_state_machine::deallocator_map_t): New typedef.
+ (malloc_state_machine::m_deallocator_map): New field.
+ (malloc_state_machine::deallocator_set_cache_t): New typedef.
+ (malloc_state_machine::m_custom_deallocator_set_cache): New field.
+ (malloc_state_machine::custom_deallocator_set_map_t): New typedef.
+ (malloc_state_machine::m_custom_deallocator_set_map): New field.
+ (malloc_state_machine::m_dynamic_sets): New field.
+ (malloc_state_machine::m_dynamic_deallocators): New field.
+ (api::api): Delete.
+ (deallocator::deallocator): New ctor.
+ (deallocator::hash): New.
+ (deallocator::dump_to_pp): New.
+ (deallocator::cmp): New.
+ (deallocator::cmp_ptr_ptr): New.
+ (standard_deallocator::standard_deallocator): New ctor.
+ (deallocator_set::deallocator_set): New ctor.
+ (deallocator_set::dump): New.
+ (custom_deallocator_set::custom_deallocator_set): New ctor.
+ (custom_deallocator_set::contains_p): New.
+ (custom_deallocator_set::maybe_get_single): New.
+ (custom_deallocator_set::dump_to_pp): New.
+ (standard_deallocator_set::standard_deallocator_set): New ctor.
+ (standard_deallocator_set::contains_p): New.
+ (standard_deallocator_set::maybe_get_single): New.
+ (standard_deallocator_set::dump_to_pp): New.
+ (start_p): New.
+ (class mismatching_deallocation): Update for conversion from api
+ to deallocator_set and deallocator.
+ (double_free::emit): Use %qs.
+ (class use_after_free): Update for conversion from api to
+ deallocator_set and deallocator.
+ (malloc_leak::describe_state_change): Only emit "allocated here" on
+ a start->nonnull transition, rather than on other transitions to
+ nonnull.
+ (allocation_state::dump_to_pp): Update for conversion from api to
+ deallocator_set.
+ (allocation_state::get_nonnull): Likewise.
+ (malloc_state_machine::malloc_state_machine): Likewise.
+ (malloc_state_machine::~malloc_state_machine): New.
+ (malloc_state_machine::add_state): Update for conversion from api
+ to deallocator_set.
+ (malloc_state_machine::get_or_create_custom_deallocator_set): New.
+ (malloc_state_machine::maybe_create_custom_deallocator_set): New.
+ (malloc_state_machine::get_or_create_deallocator): New.
+ (malloc_state_machine::on_stmt): Update for conversion from api
+ to deallocator_set. Handle "__attribute__((malloc(FOO)))", and
+ the special attribute set on FOO.
+ (malloc_state_machine::on_allocator_call): Update for conversion
+ from api to deallocator_set. Add "returns_nonnull" param and use
+ it to affect which state to transition to.
+ (malloc_state_machine::on_deallocator_call): Update for conversion
+ from api to deallocator_set.
+
2021-01-14 David Malcolm <dmalcolm@redhat.com>
* engine.cc (strongly_connected_components::to_json): New.
+2021-01-18 Jeff Law <law@redhat.com>
+
+ * gcc.dg/debug/dwarf2/pr41445-7.c: Fix expected output.
+
+2021-01-18 Patrick Palka <ppalka@redhat.com>
+
+ * g++.dg/cpp1z/class-deduction77.C: New test.
+
+2021-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/98727
+ * gcc.c-torture/execute/pr98727.c: New test.
+
+2021-01-18 John David Anglin <danglin@gcc.gnu.org>
+
+ PR testsuite/97987
+ * gcc.c-torture/compile/asmgoto-2.c: Skip on hppa.
+ * gcc.c-torture/compile/asmgoto-5.c: Likewise.
+
+2021-01-18 John David Anglin <danglin@gcc.gnu.org>
+
+ * g++.dg/no-stack-protector-attr-3.C: Don't compile on hppa*-*-*.
+ * g++.dg/no-stack-protector-attr.C: Likewise.
+
+2021-01-18 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc.dg/analyzer/attr-malloc-1.c: New test.
+ * gcc.dg/analyzer/attr-malloc-2.c: New test.
+ * gcc.dg/analyzer/attr-malloc-4.c: New test.
+ * gcc.dg/analyzer/attr-malloc-5.c: New test.
+ * gcc.dg/analyzer/attr-malloc-6.c: New test.
+ * gcc.dg/analyzer/attr-malloc-CVE-2019-19078-usb-leak.c: New test.
+ * gcc.dg/analyzer/attr-malloc-misuses.c: New test.
+
+2021-01-18 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/97494
+ * gcc.dg/vect/slp-11b.c: Adjust.
+
+2021-01-18 Christophe Lyon <christophe.lyon@linaro.org>
+
+ PR target/71233
+ * gcc.target/arm/simd/vceqz_p64.c: Use arm_crypto options.
+ * gcc.target/arm/simd/vceqzq_p64.c: Likewise.
+
+2021-01-18 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/97299
+ * gcc.dg/vect/slp-reduc-3.c: Guard VEC_PERM_EXPR scan.
+
+2021-01-18 David Edelsohn <dje.gcc@gmail.com>
+
+ * gcc.target/powerpc/fold-vec-extract-char.p7.c: Adjust addi count.
+ * gcc.target/powerpc/fold-vec-extract-double.p7.c: Same.
+ * gcc.target/powerpc/fold-vec-extract-float.p7.c: Same.
+ * gcc.target/powerpc/fold-vec-extract-float.p8.c: Same.
+ * gcc.target/powerpc/fold-vec-extract-int.p7.c: Same.
+ * gcc.target/powerpc/fold-vec-extract-int.p8.c: Same.
+ * gcc.target/powerpc/fold-vec-extract-short.p7.c: Same.
+ * gcc.target/powerpc/fold-vec-extract-short.p8.c: Same.
+ * gcc.target/powerpc/sse-andnps-1.c: Restrict to LE.
+ * gcc.target/powerpc/sse-movhps-1.c: Restrict to LE.
+ * gcc.target/powerpc/sse-movlps-1.c: Restrict to LE.
+ * gcc.target/powerpc/sse2-andnpd-1.c: Restrict to LE.
+
2021-01-17 David Edelsohn <dje.gcc@gmail.com>
* g++.dg/debug/dwarf2/inline-ns-2.C: Skip on AIX.
+2021-01-18 Ian Lance Taylor <iant@golang.org>
+
+ * Makefile.am (%_dwz): If dwz fails, use uncompressed debug info.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+
+2021-01-18 Ian Lance Taylor <iant@golang.org>
+
+ PR debug/98716
+ * dwarf.c (read_v2_paths): Allocate zero entry for dirs and
+ filenames.
+ (read_line_program): Remove parameter u, change caller. Don't
+ subtract one from dirs and filenames index.
+ (read_function_entry): Don't subtract one from filenames index.
+
2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
* configure: Re-generate.
+2021-01-18 Andreas Schwab <schwab@suse.de>
+
+ * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
+
+2021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/rtems/sem.h (gomp_sem_getcount): New function.
+
+2021-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ * config/linux/sem.h (gomp_sem_getcount): New function.
+ * config/posix/sem.h (gomp_sem_getcount): New function.
+ * config/posix/sem.c (gomp_sem_getcount): New function.
+ * config/accel/sem.h (gomp_sem_getcount): New function.
+ * task.c (task_fulfilled_p): Use gomp_sem_getcount.
+ (omp_fulfill_event): Likewise.
+
2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
* fortran.c (omp_fulfill_event_): New.
+2021-01-18 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/98725
+ * testsuite/20_util/unique_ptr/io/lwg2948.cc: Do not try to
+ write to a wide character stream if wide character support is
+ disabled in the library.
+
+2021-01-18 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/27_io/basic_stringstream/cons/char/1.cc: Use
+ stringbuf not wstringbuf.
+
+2021-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/98708
+ * src/c++11/Makefile.am (cxx11-ios_failure-lt.s, cxx11-ios_failure.s):
+ Compile with -gno-as-loc-support.
+ * src/c++11/Makefile.in: Regenerated.
+
2021-01-16 H.J. Lu <hjl.tools@gmail.com>
* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: