diff options
author | Jason Merrill <jason@redhat.com> | 2001-11-30 09:00:25 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2001-11-30 09:00:25 -0500 |
commit | 1d3d6b1e6db42c2a95d1136431c6c6eee78ea93f (patch) | |
tree | cea90bd13d074c82a94d0faa81f02b6cfc530426 /gcc/dwarf2out.c | |
parent | 3248917b3e4d768bb0e949b18f73e89f4a5d9da8 (diff) | |
download | gcc-1d3d6b1e6db42c2a95d1136431c6c6eee78ea93f.zip gcc-1d3d6b1e6db42c2a95d1136431c6c6eee78ea93f.tar.gz gcc-1d3d6b1e6db42c2a95d1136431c6c6eee78ea93f.tar.bz2 |
dwarf2out.c (is_cxx): New fn.
* dwarf2out.c (is_cxx): New fn.
(add_data_member_location_attribute): Check it.
* dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
From-SVN: r47483
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 55bb264..557730d 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -4831,6 +4831,13 @@ is_c_family () } static inline int +is_cxx () +{ + return (get_AT_unsigned (comp_unit_die, DW_AT_language) + == DW_LANG_C_plus_plus); +} + +static inline int is_fortran () { unsigned lang = get_AT_unsigned (comp_unit_die, DW_AT_language); @@ -8414,7 +8421,7 @@ add_data_member_location_attribute (die, decl) { /* We're working on the TAG_inheritance for a base class. */ - if (TREE_VIA_VIRTUAL (decl)) + if (TREE_VIA_VIRTUAL (decl) && is_cxx ()) { /* For C++ virtual bases we can't just use BINFO_OFFSET, as they aren't at a fixed offset from all (sub)objects of the same |