diff options
author | Richard Guenther <rguenther@suse.de> | 2011-08-11 14:28:36 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-08-11 14:28:36 +0000 |
commit | 8d2b04104d36240ecb02beeab5afac2752237a12 (patch) | |
tree | b10a9fb84133c6a18ce3929ae02f730bf26e7935 /gcc/tree-flow.h | |
parent | 0f8de043406d8d477133894e84124f8ac4ad8c64 (diff) | |
download | gcc-8d2b04104d36240ecb02beeab5afac2752237a12.zip gcc-8d2b04104d36240ecb02beeab5afac2752237a12.tar.gz gcc-8d2b04104d36240ecb02beeab5afac2752237a12.tar.bz2 |
re PR middle-end/50040 (missed warning: ‘x.y’ is used uninitialized in this function)
2011-08-11 Richard Guenther <rguenther@suse.de>
PR middle-end/50040
* gimplify.c (gimplify_modify_expr_complex_part): Mark the
load of the other piece with TREE_NO_WARNING.
* tree-flow.h (warn_uninit): Adjust prototype.
* tree-ssa.c (warn_uninit): Take uninitialized SSA name,
the base variable and the expression that is used separately.
Properly query all TREE_NO_WARNING flags.
(struct walk_data): Remove.
(warn_uninitialized_var): Likewise.
(warn_uninitialized_vars): Do not walk gimple pieces but simply
look at all SSA uses of the statement. Handle unused memory
separately.
* tree-ssa-uninit.c (warn_uninitialized_phi): Adjust.
* g++.dg/warn/unit-1.C: Un-XFAIL.
* gcc.dg/uninit-I.c: Likewise.
From-SVN: r177667
Diffstat (limited to 'gcc/tree-flow.h')
-rw-r--r-- | gcc/tree-flow.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h index 8cbd756..28c0d8a 100644 --- a/gcc/tree-flow.h +++ b/gcc/tree-flow.h @@ -542,7 +542,7 @@ extern void flush_pending_stmts (edge); extern void verify_ssa (bool); extern void delete_tree_ssa (void); extern bool ssa_undefined_value_p (tree); -extern void warn_uninit (enum opt_code, tree, const char *, void *); +extern void warn_uninit (enum opt_code, tree, tree, tree, const char *, void *); extern unsigned int warn_uninitialized_vars (bool); extern void execute_update_addresses_taken (void); |