aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGCC Administrator <gccadmin@gcc.gnu.org>2022-01-16 00:16:26 +0000
committerGCC Administrator <gccadmin@gcc.gnu.org>2022-01-16 00:16:26 +0000
commit9248ee41478754b46b70f2409b85d9743ece9e72 (patch)
tree9f8b18d184d3c9ad1a384e00db82fe8ba2912af5
parent9d6a0f388eb048f8d87f47af78f07b5ce513bfe6 (diff)
Daily bump.
-rw-r--r--gcc/ChangeLog68
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/c-family/ChangeLog10
-rw-r--r--gcc/fortran/ChangeLog9
-rw-r--r--gcc/testsuite/ChangeLog41
-rw-r--r--libcpp/ChangeLog5
-rw-r--r--libgcc/ChangeLog7
-rw-r--r--libiberty/ChangeLog4
-rw-r--r--libstdc++-v3/ChangeLog29
9 files changed, 174 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e7382a5bae9..7f75ecacf18 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,71 @@
+2022-01-15 Martin Sebor <msebor@redhat.com>
+
+ PR c/63272
+ * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
+ -Wdangling-pointer.
+ * doc/invoke.texi (-Wdangling-pointer): Document new option.
+ * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
+ (pass_waccess::check_pointer_uses): New function.
+ (pass_waccess::gimple_call_return_arg): New function.
+ (pass_waccess::gimple_call_return_arg_ref): New function.
+ (pass_waccess::check_call_dangling): New function.
+ (pass_waccess::check_dangling_uses): New function overloads.
+ (pass_waccess::check_dangling_stores): New function.
+ (pass_waccess::check_dangling_stores): New function.
+ (pass_waccess::m_clobbers): New data member.
+ (pass_waccess::m_func): New data member.
+ (pass_waccess::m_run_number): New data member.
+ (pass_waccess::m_check_dangling_p): New data member.
+ (pass_waccess::check_alloca): Check m_early_checks_p.
+ (pass_waccess::check_alloc_size_call): Same.
+ (pass_waccess::check_strcat): Same.
+ (pass_waccess::check_strncat): Same.
+ (pass_waccess::check_stxcpy): Same.
+ (pass_waccess::check_stxncpy): Same.
+ (pass_waccess::check_strncmp): Same.
+ (pass_waccess::check_memop_access): Same.
+ (pass_waccess::check_read_access): Same.
+ (pass_waccess::check_builtin): Call check_pointer_uses.
+ (pass_waccess::warn_invalid_pointer): Add arguments.
+ (is_auto_decl): New function.
+ (pass_waccess::check_stmt): New function.
+ (pass_waccess::check_block): Call check_stmt.
+ (pass_waccess::execute): Call check_dangling_uses,
+ check_dangling_stores. Empty m_clobbers.
+ * passes.def (pass_warn_access): Invoke pass two more times.
+
+2022-01-15 Martin Sebor <msebor@redhat.com>
+
+ PR tree-optimization/80532
+ * common.opt (-Wuse-after-free): New options.
+ * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
+ OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
+ * diagnostic-spec.h (NW_DANGLING): New enumerator.
+ * doc/invoke.texi (-Wuse-after-free): Document new option.
+ * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
+ (pass_waccess::check_call_access): ...to this.
+ (pass_waccess::check): Rename...
+ (pass_waccess::check_block): ...to this.
+ (pass_waccess::check_pointer_uses): New function.
+ (pass_waccess::gimple_call_return_arg): New function.
+ (pass_waccess::warn_invalid_pointer): New function.
+ (pass_waccess::check_builtin): Handle free and realloc.
+ (gimple_use_after_inval_p): New function.
+ (get_realloc_lhs): New function.
+ (maybe_warn_mismatched_realloc): New function.
+ (pointers_related_p): New function.
+ (pass_waccess::check_call): Call check_pointer_uses.
+ (pass_waccess::execute): Compute and free dominance info.
+
+2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
+ expand_simple_unop and expand_simple_binop instead of manually
+ constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
+ consistently. Eliminate common subexpressions and simplify code.
+ * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
+ (<any_logic:code><MODEF:mode>3): Make public.
+
2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
* ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 52fea2ecbbc..20764d6add7 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20220115
+20220116
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index c25f86fe740..487be7b499b 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,13 @@
+2022-01-15 Martin Sebor <msebor@redhat.com>
+
+ PR c/63272
+ * c.opt (-Wdangling-pointer): New option.
+
+2022-01-15 Martin Sebor <msebor@redhat.com>
+
+ PR tree-optimization/80532
+ * c.opt (-Wuse-after-free): New options.
+
2022-01-14 David Malcolm <dmalcolm@redhat.com>
* c-attribs.c (c_common_attribute_table): Add "tainted_args".
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 99ab840cd43..a2585f9b0d3 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,12 @@
+2022-01-15 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/83079
+ * target-memory.c (gfc_interpret_character): Result length is
+ in bytes and thus depends on the character kind.
+ * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Compute correct
+ string length for the result of the TRANSFER intrinsic and for
+ temporaries for the different character kinds.
+
2022-01-14 Harald Anlauf <anlauf@gmx.de>
PR fortran/99256
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3c3b3cc43dc..e04131bf909 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,44 @@
+2022-01-15 Martin Sebor <msebor@redhat.com>
+
+ PR c/63272
+ * g++.dg/warn/Wfree-nonheap-object-6.C: Disable valid warnings.
+ * g++.dg/warn/ref-temp1.C: Prune expected warning.
+ * gcc.dg/uninit-pr50476.c: Expect a new warning.
+ * c-c++-common/Wdangling-pointer-2.c: New test.
+ * c-c++-common/Wdangling-pointer-3.c: New test.
+ * c-c++-common/Wdangling-pointer-4.c: New test.
+ * c-c++-common/Wdangling-pointer-5.c: New test.
+ * c-c++-common/Wdangling-pointer-6.c: New test.
+ * c-c++-common/Wdangling-pointer.c: New test.
+ * g++.dg/warn/Wdangling-pointer-2.C: New test.
+ * g++.dg/warn/Wdangling-pointer.C: New test.
+ * gcc.dg/Wdangling-pointer-2.c: New test.
+ * gcc.dg/Wdangling-pointer.c: New test.
+
+2022-01-15 Martin Sebor <msebor@redhat.com>
+
+ PR tree-optimization/80532
+ * gcc.dg/Wmismatched-dealloc-2.c: Avoid -Wuse-after-free.
+ * gcc.dg/Wmismatched-dealloc-3.c: Same.
+ * gcc.dg/analyzer/file-1.c: Prune expected warning.
+ * gcc.dg/analyzer/file-2.c: Same.
+ * gcc.dg/attr-alloc_size-6.c: Disable -Wuse-after-free.
+ * gcc.dg/attr-alloc_size-7.c: Same.
+ * c-c++-common/Wuse-after-free-2.c: New test.
+ * c-c++-common/Wuse-after-free-3.c: New test.
+ * c-c++-common/Wuse-after-free-4.c: New test.
+ * c-c++-common/Wuse-after-free-5.c: New test.
+ * c-c++-common/Wuse-after-free-6.c: New test.
+ * c-c++-common/Wuse-after-free-7.c: New test.
+ * c-c++-common/Wuse-after-free.c: New test.
+ * g++.dg/warn/Wmismatched-dealloc-3.C: New test.
+ * g++.dg/warn/Wuse-after-free.C: New test.
+
+2022-01-15 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/83079
+ * gfortran.dg/transfer_char_kind4.f90: New test.
+
2022-01-14 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/analyzer/taint-merger.c: New test.
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index a5c4e7ecf06..cc50245a489 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,8 @@
+2022-01-15 Martin Sebor <msebor@redhat.com>
+
+ * files.c (_cpp_find_file): Substitute a valid pointer for
+ an invalid one to avoid -Wuse-after-free.
+
2022-01-12 Clément Chigot <clement.chigot@atos.net>
* configure.ac: Check sizeof ino_t and dev_t.
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 6ecc75c3c42..e6a2856056d 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,10 @@
+2022-01-15 David <gccbugzilla@limegreensocks.com>
+
+ * config/i386/gthr-win32.c (__gthr_i486_lock_cmp_xchg):
+ Remove inlined version, Windows 95 is no longer relevant.
+ * config/i386/gthr-win32.h
+ (__GTHREAD_I486_INLINE_LOCK_PRIMITIVES): unset.
+
2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/linux-unwind.h (arc_fallback_frame_state): Use
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index b283655f3cd..3e6810009ae 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,7 @@
+2022-01-15 Martin Sebor <msebor@redhat.com>
+
+ * regex.c: Suppress -Wuse-after-free.
+
2021-12-30 Lancelot SIX <lsix@lancelotsix.com>
* cp-demangle.c (d_clone_suffix): Support digits in clone tag
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 677f3436d14..28adf812082 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,32 @@
+2022-01-15 Matthias Kretz <m.kretz@gsi.de>
+
+ * include/experimental/bits/simd.h: Move feature detection bools
+ and add __have_avx512bitalg, __have_avx512vbmi2,
+ __have_avx512vbmi, __have_avx512ifma, __have_avx512cd,
+ __have_avx512vnni, __have_avx512vpopcntdq.
+ (__detail::__machine_flags): New function which returns a unique
+ uint64 depending on relevant -m and -f flags.
+ (__detail::__odr_helper): New type alias for either an anonymous
+ type or a type specialized with the __machine_flags number.
+ (_SimdIntOperators): Change template parameters from _Impl to
+ _Tp, _Abi because _Impl now has an __odr_helper parameter which
+ may be _OdrEnforcer from the anonymous namespace, which makes
+ for a bad base class.
+ (many): Either add __odr_helper template parameter or mark as
+ always_inline.
+ * include/experimental/bits/simd_detail.h: Add defines for
+ AVX512BITALG, AVX512VBMI2, AVX512VBMI, AVX512IFMA, AVX512CD,
+ AVX512VNNI, AVX512VPOPCNTDQ, and AVX512VP2INTERSECT.
+ * include/experimental/bits/simd_builtin.h: Add __odr_helper
+ template parameter or mark as always_inline.
+ * include/experimental/bits/simd_fixed_size.h: Ditto.
+ * include/experimental/bits/simd_math.h: Ditto.
+ * include/experimental/bits/simd_scalar.h: Ditto.
+ * include/experimental/bits/simd_neon.h: Add __odr_helper
+ template parameter.
+ * include/experimental/bits/simd_ppc.h: Ditto.
+ * include/experimental/bits/simd_x86.h: Ditto.
+
2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
* testsuite/22_locale/numpunct/members/char/3.cc: