From d368135f692652e33e4f9c7269935613d4e00f14 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Mon, 11 Nov 2013 16:59:23 +0000 Subject: [PATCH] gimplify.c (gimplify_init_constructor): Do not clear the object when the constructor is incomplete and... * gimplify.c (gimplify_init_constructor): Do not clear the object when the constructor is incomplete and CONSTRUCTOR_NO_CLEARING is set. From-SVN: r204678 --- gcc/gimplify.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/gimplify.c b/gcc/gimplify.c index 2875a07c304..914766ad3b0 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -4052,9 +4052,9 @@ gimplify_init_constructor (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p, objects. Initializers for such objects must explicitly set every field that needs to be set. */ cleared = false; - else if (!complete_p) + else if (!complete_p && !CONSTRUCTOR_NO_CLEARING (ctor)) /* If the constructor isn't complete, clear the whole object - beforehand. + beforehand, unless CONSTRUCTOR_NO_CLEARING is set on it. ??? This ought not to be needed. For any element not present in the initializer, we should simply set them to zero. Except