https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101573

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>:

https://gcc.gnu.org/g:66030d68a7edfc9504a50469598e0707b8f787ce

commit r12-2525-g66030d68a7edfc9504a50469598e0707b8f787ce
Author: Richard Biener <rguent...@suse.de>
Date:   Thu Jul 22 12:26:16 2021 +0200

    tree-optimization/101573 - improve uninit warning at -O0

    We can improve uninit warnings from the early pass by looking
    at PHI arguments on fallthru edges that are uninitialized and
    have uses that are before a possible loop exit.  This catches
    some cases earlier that we'd only warn in a more confusing
    way after early inlining as seen by testcase adjustments.

    It introduces

    FAIL: gcc.dg/uninit-23.c (test for excess errors)

    where we additionally warn

    gcc.dg/uninit-23.c:21:13: warning: 't4' is used uninitialized
[-Wuninitialized]

    which I think is OK even if it's not obvious that the new
    warning is an improvement when you look at the obvious source.

    Somehow for all cases I never get the `'foo' was declared here`
    notes, I didn't dig why that happens but it's odd.

    2021-07-22  Richard Biener  <rguent...@suse.de>

            PR tree-optimization/101573
            * tree-ssa-uninit.c (warn_uninit_phi_uses): New function
            looking at uninitialized PHI arg defs in some constrained cases.
            (warn_uninitialized_vars): Call it.
            (execute_early_warn_uninitialized): Calculate dominators.

            * gcc.dg/uninit-pr101573.c: New testcase.
            * gcc.dg/uninit-15-O0.c: Adjust.
            * gcc.dg/uninit-15.c: Likewise.
            * gcc.dg/uninit-23.c: Likewise.
            * c-c++-common/uninit-17.c: Likewise.

Reply via email to