From: Richard Stallman Date: Fri, 26 Jun 1992 12:46:40 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f32fd77815fe440a8f9a7a2760e74ea9c7fe5e8c;p=gcc.git *** empty log message *** From-SVN: r1298 --- diff --git a/gcc/expr.c b/gcc/expr.c index f869b58c9de..663a58f1a3a 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -2352,6 +2352,12 @@ store_constructor (exp, target) int bitpos; int unsignedp; + /* Just ignore missing fields. + We cleared the whole structure, above, + if any fields are missing. */ + if (field == 0) + continue; + bitsize = TREE_INT_CST_LOW (DECL_SIZE (field)); unsignedp = TREE_UNSIGNED (field); mode = DECL_MODE (field); @@ -2867,7 +2873,8 @@ safe_from_p (x, exp) case 'x': if (TREE_CODE (exp) == TREE_LIST) - return (safe_from_p (x, TREE_VALUE (exp)) + return ((TREE_VALUE (exp) == 0 + || safe_from_p (x, TREE_VALUE (exp))) && (TREE_CHAIN (exp) == 0 || safe_from_p (x, TREE_CHAIN (exp)))); else