aboutsummaryrefslogtreecommitdiff
path: root/gcc/dbxout.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/dbxout.c')
-rw-r--r--gcc/dbxout.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index 468ee09..683745f 100644
--- a/gcc/dbxout.c
+++ b/gcc/dbxout.c
@@ -1,6 +1,6 @@
/* Output dbx-format symbol table information from GNU compiler.
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
@@ -1577,15 +1577,19 @@ dbxout_type (type, full)
}
for (i = 0; i < n_baseclasses; i++)
{
- tree child = TREE_VEC_ELT (BINFO_BASETYPES (TYPE_BINFO (type)), i);
-
+ tree binfo = TYPE_BINFO (type);
+ tree child = BINFO_BASETYPE (binfo, i);
+ tree access = (BINFO_BASEACCESSES (binfo)
+ ? BINFO_BASEACCESS (binfo, i) : access_public_node);
+
if (use_gnu_debug_info_extensions)
{
have_used_extensions = 1;
putc (TREE_VIA_VIRTUAL (child) ? '1' : '0', asmfile);
- putc (TREE_VIA_PUBLIC (child) ? '2' : '0', asmfile);
+ putc (access == access_public_node ? '2' : '0', asmfile);
CHARS (2);
- if (TREE_VIA_VIRTUAL (child) && strcmp (lang_hooks.name, "GNU C++") == 0)
+ if (TREE_VIA_VIRTUAL (child)
+ && strcmp (lang_hooks.name, "GNU C++") == 0)
/* For a virtual base, print the (negative) offset within
the vtable where we must look to find the necessary
adjustment. */