(dbxout_type_field): Skip fields with variable
authorRichard Stallman <rms@gnu.org>
Sat, 13 Nov 1993 22:08:16 +0000 (22:08 +0000)
committerRichard Stallman <rms@gnu.org>
Sat, 13 Nov 1993 22:08:16 +0000 (22:08 +0000)
position and/or size instead of crashing on them.

From-SVN: r6080

gcc/dbxout.c

index 68fd03be278b8bd9ca9f9e186fb41f0658e35af6..a952af5ca34170e54be148187d956fd25f667ba7 100644 (file)
@@ -590,6 +590,11 @@ dbxout_type_fields (type)
       /* Omit here local type decls until we know how to support them.  */
       else if (TREE_CODE (tem) == TYPE_DECL)
        continue;
+      /* Omit fields whose position or size are variable.  */
+      else if (TREE_CODE (tem) == FIELD_DECL
+              && (TREE_CODE (DECL_FIELD_BITPOS (tem)) != INTEGER_CST
+                  || TREE_CODE (DECL_SIZE (tem)) != INTEGER_CST))
+       continue;
       /* Omit here the nameless fields that are used to skip bits.  */
       else if (DECL_NAME (tem) != 0 && TREE_CODE (tem) != CONST_DECL)
        {
@@ -656,9 +661,6 @@ dbxout_type_fields (type)
                       TREE_INT_CST_LOW (DECL_FIELD_BITPOS (tem)),
                       TREE_INT_CST_LOW (DECL_SIZE (tem)));
            }
-         else
-           /* This has yet to be implemented.  */
-           abort ();
          CHARS (23);
        }
     }