aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2009-01-28 09:36:41 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2009-01-28 09:36:41 +0000
commit97a170cd637fd9c1c8203c9e286833d251ca5529 (patch)
tree0ea4a6e8018d544e307c69cbc79066acedd3d492 /gcc/tree-ssa.c
parent89ebafc6cdbfe4f67d017844f50b3810fd9e1399 (diff)
downloadgcc-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.c6
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)