c++/9143: 64BIT: Error in dump class hiearchy file generated for basic inheritance

Christian Ehrhardt ehrhardt@mathematik.uni-ulm.de
Fri Jan 3 10:38:00 GMT 2003


http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9143

The following mail form Janis about this PR got accidentally picked up
by GNATS as a new PR. Let's hope that this mail makes it into the audit
trail of the right PR.

               Is the generated code incorrect also, or just the dump
               output?

               GCC generates the same dump information as that reported in
               the PR for a powerpc64-linux cross compiler built from the
               current mainline and from the 3.3 branch.

               With a native powerpc64-linux compiler I get:

                      Vtable for B
                    B::_ZTV1B: 7 entries
                    0     8
                    8     0
                    16    &_ZTI1B
                    24    0
                    32    0fffffff8
                    40    &_ZTI1B
                    48    A::f()

               With a native 32-bit compiler on a powerpc64-linux system
               I get:

                    Vtable for B
                    B::_ZTV1B: 7 entries
                    0     4
                    4     0
                    8     &_ZTI1B
                    12    0
                    16    4294967292
                    20    &_ZTI1B
                    24    A::f()

               For comparison purposes I got the same dumps for two other
               targets.  With the mainline from 20021210 on ia64-linux:

                    9143.C:1: sorry, unimplemented: `fdesc_expr' not supported
               by dump_expr
                    9143.C:1: sorry, unimplemented: `fdesc_expr' not supported
               by dump_expr
                    9143.C:5: sorry, unimplemented: `fdesc_expr' not supported
               by dump_expr
                    9143.C:5: sorry, unimplemented: `fdesc_expr' not supported
               by dump_expr

               I didn't look into this, but it suggests that perhaps some
               of the dump functionality used by the cross compiler isn't
               supported.

               With the mainline from 20021220 on i686-linux:

                    Vtable for B
                    B::_ZTV1B: 7 entries
                    0     4
                    4     0
                    8     &_ZTI1B
                    12    0
                    16    0fffffffc
                    20    &_ZTI1B
                    24    A::f()

               This information might be useful for someone who understands
               vtable layout and the dump functions.




More information about the Gcc-bugs mailing list