summaryrefslogtreecommitdiff
path: root/gcc/dbxout.c
diff options
context:
space:
mode:
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>1993-11-13 22:08:16 +0000
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>1993-11-13 22:08:16 +0000
commit104d741064d15dc66a0fcbb90f0d600bcb4b1f50 (patch)
treefcd5cab918877992890a8d575f2f767359621f20 /gcc/dbxout.c
parent162fccbcc5d433d8d6f92fe298b531f9ede62d86 (diff)
downloadgcc-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.c8
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);
}
}