mirror of
git://sourceware.org/git/libabigail.git
synced 2025-02-03 23:31:51 +00:00
ba5b4452d5
The DWARF reader is not scheduling a declaration-only class for resolution when the class has member types. When reading the code of build_class_type_and_add_to_ir(), we see that the scheduling is done before getting out of the function. But then, building members of the class can trigger another invocation of build_class_type_and_add_to_ir() before the current invocation returns. In that case, the declaration-only class being built appears as not being scheduled for resolution. And that is what violates the assertion that declaration-only classes should be scheduled for resolution whenever they are used. This patch addresses the issue by scheduling the resolution earlier, when we know we are dealing with a declaration-only class, and before dealing with members of that classes. * src/abg-dwarf-reader.cc (build_class_type_and_add_to_ir): Schedule declaration-only class resolution before the class appears as usable as to other types being built. * tests/data/test-read-dwarf/test12-pr18844.so: Add a new binary test input. * tests/data/test-read-dwarf/test12-pr18844.so.abi: The reference ABI XML output for the binary above. * tests/data/Makefile.am: Add the new test inputs above to the source distribution. * tests/test-read-dwarf.cc (in_out_specs): Add the new test inputs above to the set of input this test harness has to run over. Signed-off-by: Dodji Seketeli <dodji@redhat.com> |
||
---|---|---|
.. | ||
test-abicompat | ||
test-abidiff | ||
test-alt-dwarf-file | ||
test-core-diff | ||
test-diff-dwarf | ||
test-diff-filter | ||
test-diff-pkg | ||
test-diff-suppr | ||
test-lookup-syms | ||
test-read-dwarf | ||
test-read-write | ||
test-write-read-archive | ||
Makefile.am |