diff options
author | Richard Stallman <rms@gnu.org> | 1992-06-26 12:46:40 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-06-26 12:46:40 +0000 |
commit | f32fd77815fe440a8f9a7a2760e74ea9c7fe5e8c (patch) | |
tree | 41b5a2e7d9f7134ea1a21986df3054d2b8960f68 /gcc | |
parent | 21d7516d93aaad8b9760f77be8169582c7975964 (diff) | |
download | gcc-f32fd77815fe440a8f9a7a2760e74ea9c7fe5e8c.zip gcc-f32fd77815fe440a8f9a7a2760e74ea9c7fe5e8c.tar.gz gcc-f32fd77815fe440a8f9a7a2760e74ea9c7fe5e8c.tar.bz2 |
*** empty log message ***
From-SVN: r1298
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/expr.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -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 |