aboutsummaryrefslogtreecommitdiff
path: root/gcc/sdbout.c
diff options
context:
space:
mode:
authorLaurynas Biveinis <lauras@softhome.net>2001-01-30 01:26:25 +0000
committerRichard Henderson <rth@gcc.gnu.org>2001-01-29 17:26:25 -0800
commit1270a9b381f178bcfe2079551cd1d0abc12de9bc (patch)
treeb536c1d141dc736729b2dea1eda6a82d877ada69 /gcc/sdbout.c
parenteb59e5478886955c2276cb63f607c661e85cbf87 (diff)
downloadgcc-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.c14
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))
{