From 33da34ea75e191b07491af0707f75540e4f557fd Mon Sep 17 00:00:00 2001 From: rguenth Date: Thu, 11 Aug 2011 14:28:36 +0000 Subject: 2011-08-11 Richard Guenther 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177667 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/gimplify.c | 1 + 1 file changed, 1 insertion(+) (limited to 'gcc/gimplify.c') diff --git a/gcc/gimplify.c b/gcc/gimplify.c index 5376ca361bf..2668aa6e032 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -4483,6 +4483,7 @@ gimplify_modify_expr_complex_part (tree *expr_p, gimple_seq *pre_p, ocode = code == REALPART_EXPR ? IMAGPART_EXPR : REALPART_EXPR; other = build1 (ocode, TREE_TYPE (rhs), lhs); + TREE_NO_WARNING (other) = 1; other = get_formal_tmp_var (other, pre_p); realpart = code == REALPART_EXPR ? rhs : other; -- cgit v1.2.3