diff options
author | Richard Guenther <rguenther@suse.de> | 2009-01-28 09:36:41 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2009-01-28 09:36:41 +0000 |
commit | 97a170cd637fd9c1c8203c9e286833d251ca5529 (patch) | |
tree | 0ea4a6e8018d544e307c69cbc79066acedd3d492 /gcc/tree-ssa.c | |
parent | 89ebafc6cdbfe4f67d017844f50b3810fd9e1399 (diff) | |
download | gcc-97a170cd637fd9c1c8203c9e286833d251ca5529.zip gcc-97a170cd637fd9c1c8203c9e286833d251ca5529.tar.gz gcc-97a170cd637fd9c1c8203c9e286833d251ca5529.tar.bz2 |
re PR c++/38908 (Unexplained "'<anonymous>' is used uninitialized in this function" warning in cc1plus -m64)
2009-01-28 Richard Guenther <rguenther@suse.de>
PR middle-end/38908
* tree-ssa.c (warn_uninitialized_var): Do not warn for seemingly
uninitialized aggregate uses in call arguments.
* g++.dg/warn/Wuninitialized-2.C: New testcase.
From-SVN: r143722
Diffstat (limited to 'gcc/tree-ssa.c')
-rw-r--r-- | gcc/tree-ssa.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index 91cbc19..75e4685 100644 --- a/gcc/tree-ssa.c +++ b/gcc/tree-ssa.c @@ -1496,9 +1496,13 @@ warn_uninitialized_var (tree *tp, int *walk_subtrees, void *data_) || !gimple_aliases_computed_p (cfun)) return NULL_TREE; + /* If the load happens as part of a call do not warn about it. */ + if (is_gimple_call (data->stmt)) + return NULL_TREE; + vuse = SINGLE_SSA_USE_OPERAND (data->stmt, SSA_OP_VUSE); if (vuse == NULL_USE_OPERAND_P) - return NULL_TREE; + return NULL_TREE; op = USE_FROM_PTR (vuse); if (t != SSA_NAME_VAR (op) |