This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

g++ dump translation unit question


Hello all,
first of all I know that translation unit dump isn't documented and can change in every release but I have to extract some data from it.


I`m facing troubles with classes inheritance. How I can get information about private/protected inheritance?

from example code
class Base{};
class Base2{};
class Child : private Base, protected Base2{};

in from g++ 4.3.4 I get:
@364    record_type      name: @299     size: @332     algn: 32
                         vfld: @288     base: @289     accs: pub
                         base: @290     accs: pub      tag : struct
                         flds: @426     binf: @427
where 364 is Child, 289 Base and 290 Base2

and in g++ 3.3.6:
@627    record_type      name: @523     size: @597     algn: 32
                         vfld: @741     base: @513     public
                         base: @514     protected      struct
                         flds: @742     fncs: @743     binf: @744
where 627 is Child, 513 is Base and 514 Base2

In older release there is no problem in getting protected base classes but missing info about private ones.

Can anybody help me?
At least tell me were to start searching in code.

Thanks in advance
Piotr


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]