diff options
author | Richard Stallman <rms@gnu.org> | 1993-11-13 22:08:16 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-11-13 22:08:16 +0000 |
commit | 177f65eab335e95b09025a4a542662dbc797b897 (patch) | |
tree | fcd5cab918877992890a8d575f2f767359621f20 /gcc | |
parent | 6026c19c421f68b112c57494c704749c4a94de62 (diff) | |
download | gcc-177f65eab335e95b09025a4a542662dbc797b897.zip gcc-177f65eab335e95b09025a4a542662dbc797b897.tar.gz gcc-177f65eab335e95b09025a4a542662dbc797b897.tar.bz2 |
(dbxout_type_field): Skip fields with variable
position and/or size instead of crashing on them.
From-SVN: r6080
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/dbxout.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/dbxout.c b/gcc/dbxout.c index 68fd03b..a952af5 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -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); } } |