On 03/18/2017 12:20 PM, Jan-Benedict Glaw wrote:
Hi Richard, Catherine, Matthew
On Thu, 2017-03-02 14:40:46 +0100, Richard Biener <rguent...@suse.de> wrote:
[...]
On IRC we decided to wait&see for the TREE_NO_WARNING issue. So the
following is what I committed.
Bootstrapped / tested on x86_64-unknown-linux-gnu.
[...]
2017-03-02 Richard Biener <rguent...@suse.de>
PR tree-optimization/79345
PR c++/42000
* tree-ssa-alias.c (walk_aliased_vdefs_1): Take a limit
param and abort the walk, returning -1 if it is hit.
(walk_aliased_vdefs): Take a limit param and pass it on.
* tree-ssa-alias.h (walk_aliased_vdefs): Add a limit param,
defaulting to 0 and return a signed int.
* tree-ssa-uninit.c (struct check_defs_data): New struct.
(check_defs): New helper.
(warn_uninitialized_vars): Use walk_aliased_vdefs to warn
about uninitialized memory.
* fixed-value.c (fixed_from_string): Use ulow/uhigh to avoid
bogus uninitialized warning.
(fixed_convert_from_real): Likewise.
* g++.dg/warn/Wuninitialized-7.C: New testcase.
* c-c++-common/ubsan/bounds-2.c: Add -Wno-uninitialized.
* gcc.dg/uninit-pr19430-2.c: Add expected warning.
When building with config-list.mk, it seems to break for all of the
listed MIPS targets, but not on any other architecture:
I finally got around to installing the fixes to the MIPS backend for
this problem.
Jeff