aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@gcc.gnu.org>2013-11-11 16:59:23 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2013-11-11 16:59:23 +0000
commitd368135f692652e33e4f9c7269935613d4e00f14 (patch)
treee24114e538df43641414926a42dcddd442d0b0e9 /gcc/gimplify.c
parent1448093c327947d4b1a644c42ef82ce064d1dc31 (diff)
downloadgcc-d368135f692652e33e4f9c7269935613d4e00f14.zip
gcc-d368135f692652e33e4f9c7269935613d4e00f14.tar.gz
gcc-d368135f692652e33e4f9c7269935613d4e00f14.tar.bz2
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
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 2875a07..914766a 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