diff options
author | rms <rms@138bc75d-0d04-0410-961f-82ee72b054a4> | 1993-11-13 22:08:16 +0000 |
---|---|---|
committer | rms <rms@138bc75d-0d04-0410-961f-82ee72b054a4> | 1993-11-13 22:08:16 +0000 |
commit | 104d741064d15dc66a0fcbb90f0d600bcb4b1f50 (patch) | |
tree | fcd5cab918877992890a8d575f2f767359621f20 /gcc/dbxout.c | |
parent | 162fccbcc5d433d8d6f92fe298b531f9ede62d86 (diff) | |
download | gcc-104d741064d15dc66a0fcbb90f0d600bcb4b1f50.tar.gz |
(dbxout_type_field): Skip fields with variable
position and/or size instead of crashing on them.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6080 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dbxout.c')
-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 68fd03be278..a952af5ca34 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); } } |