OSDN Git Service

*** empty log message ***
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 Jun 1992 12:46:40 +0000 (12:46 +0000)
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 Jun 1992 12:46:40 +0000 (12:46 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@1298 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/expr.c

index f869b58..663a58f 100644 (file)
@@ -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