]> sourceware.org Git - libabigail.git/commit
Late canonicalize all types that reference classes when reading DWARF
authorDodji Seketeli <dodji@redhat.com>
Sun, 4 Oct 2015 10:08:08 +0000 (12:08 +0200)
committerDodji Seketeli <dodji@redhat.com>
Sun, 4 Oct 2015 11:51:25 +0000 (13:51 +0200)
commit6e36a4381dedd73938271c2294bcce37b7294545
tree3bfc24f82fc7bf0f698b3cccaec4836d6b658fb0
parentc20c8c79e78424243403e3f72520625530aa4074
Late canonicalize all types that reference classes when reading DWARF

Until now, the DWARF reader would late canonicalize typedefs to
classes, as well as classes.  That is not enough.  Let's also
late-canonicalize pointers, references and array of classes too.  This
is because classes that might not be finished yet might be referenced
by those types, and so we want to wait until they are finished before
we canonicalize them.

* include/abg-fwd.h (peel_array_type): Declare new function.
* src/abg-ir.cc (peel_array_type): Define it.
(peel_typedef_pointer_or_reference_type): Peel arrays too, to get
the type of its element.
* src/abg-dwarf-reader.cc (maybe_canonicalize_type): If a pointer,
reference, array or typedef references a class, then do
late-canonicalize this type.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
include/abg-fwd.h
src/abg-dwarf-reader.cc
src/abg-ir.cc
This page took 0.03224 seconds and 5 git commands to generate.