summaryrefslogtreecommitdiff
path: root/gcc/java/jcf-write.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java/jcf-write.c')
-rw-r--r--gcc/java/jcf-write.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c
index a41c3554441..a73b7be83dc 100644
--- a/gcc/java/jcf-write.c
+++ b/gcc/java/jcf-write.c
@@ -2963,15 +2963,15 @@ generate_classfile (tree clas, struct jcf_partial *state)
}
else
{
- tree basetypes = BINFO_BASE_BINFOS (TYPE_BINFO (clas));
- tree base = BINFO_TYPE (TREE_VEC_ELT (basetypes, 0));
- int j = find_class_constant (&state->cpool, base);
+ tree binfo = TYPE_BINFO (clas);
+ tree base_binfo = BINFO_BASE_BINFO (binfo, 0);
+ int j = find_class_constant (&state->cpool, BINFO_TYPE (base_binfo));
+
PUT2 (j); /* super_class */
PUT2 (total_supers - 1); /* interfaces_count */
- for (i = 1; i < total_supers; i++)
+ for (i = 1; BINFO_BASE_ITERATE (binfo, i, base_binfo); i++)
{
- base = BINFO_TYPE (TREE_VEC_ELT (basetypes, i));
- j = find_class_constant (&state->cpool, base);
+ j = find_class_constant (&state->cpool, BINFO_TYPE (base_binfo));
PUT2 (j);
}
}