diff options
author | Laurynas Biveinis <lauras@softhome.net> | 2001-01-30 01:26:25 +0000 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-01-29 17:26:25 -0800 |
commit | 1270a9b381f178bcfe2079551cd1d0abc12de9bc (patch) | |
tree | b536c1d141dc736729b2dea1eda6a82d877ada69 /gcc/sdbout.c | |
parent | eb59e5478886955c2276cb63f607c661e85cbf87 (diff) | |
download | gcc-1270a9b381f178bcfe2079551cd1d0abc12de9bc.zip gcc-1270a9b381f178bcfe2079551cd1d0abc12de9bc.tar.gz gcc-1270a9b381f178bcfe2079551cd1d0abc12de9bc.tar.bz2 |
sdbout.c (sdbout_one_type): Skip types with indeterminate size.
* sdbout.c (sdbout_one_type): Skip types with indeterminate size.
(sdbout_field_types): Likwise. Fix use of host_integerp.
From-SVN: r39339
Diffstat (limited to 'gcc/sdbout.c')
-rw-r--r-- | gcc/sdbout.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/gcc/sdbout.c b/gcc/sdbout.c index 63472af..944651f 100644 --- a/gcc/sdbout.c +++ b/gcc/sdbout.c @@ -1053,12 +1053,13 @@ sdbout_field_types (type) tree tail; for (tail = TYPE_FIELDS (type); tail; tail = TREE_CHAIN (tail)) - /* This condition should match the one for emitting the actual members - below. */ + /* This condition should match the one for emitting the actual + members below. */ if (TREE_CODE (tail) == FIELD_DECL - && DECL_NAME (tail) != 0 - && ! host_integerp (DECL_SIZE (tail), 1) - && ! host_integerp (bit_position (tail), 0)) + && DECL_NAME (tail) + && DECL_SIZE (tail) + && host_integerp (DECL_SIZE (tail), 1) + && host_integerp (bit_position (tail), 0)) { if (POINTER_TYPE_P (TREE_TYPE (tail))) sdbout_one_type (TREE_TYPE (TREE_TYPE (tail))); @@ -1237,7 +1238,8 @@ sdbout_one_type (type) Also omit fields with variable size or position. Also omit non FIELD_DECL nodes that GNU C++ may put here. */ if (TREE_CODE (tem) == FIELD_DECL - && DECL_NAME (tem) != 0 + && DECL_NAME (tem) + && DECL_SIZE (tem) && host_integerp (DECL_SIZE (tem), 1) && host_integerp (bit_position (tem), 0)) { |