mirror of
git://sourceware.org/git/libabigail.git
synced 2025-03-08 23:57:38 +00:00
* include/abg-comparison.h (array_diff): Declare new class. (array_diff_sptr): Shared pointer to type array_diff. (compute_diff): Overload the function to take type array_diff_sptr as the first two arguments. * include/abg-fwd.h (array_type_def): Declare new class. (subrange_type): Likewise. (is_array_def): Declare new function. * include/abg-ir.h (array_type_def_sptr): Shared pointer to type array_type_def. (array_type_def): Declare new class. (ir_node_visitor::visit): Declare a new virtual function taking a pointer to type array_type_def as an argument. * src/abg-comparison.cc (compute_diff_for_types): Add try_to_diff for two instances of type array_type_def. (array_diff::priv): declare struct for holding private members of type array_diff. (array_diff::array_diff): Define constructor. (array_diff::{first,second}_array):Define new member functions. (array_diff::element_type_diff): Likewise. (array_diff::{length,report,traverse}): Likewise. (compute_diff): Define function overloaded in include/abg-comparison.h. * src/abg-dwarf-reader.cc (build_array_type): Define new function. Handle DW_TAG_array_type and DW_TAG_subrange type. (build_ir_node_from_die): Amend case DW_TAG_array_type with a call to build_array_type. * src/abg-hash.cc (array_type_def::hash): Declare new struct. (type_base::dynamic_hash::operator()): Attempt to dynamic_cast the argument to type array_type_def as well. (array_type_def::hash): Declare new struct. * src/abg-ir.cc (array_type_def::array_type_def): Define constructors. (array_type_def::priv): declare struct for holding private members of type array_type_def. (array_type_def::operator==(const decl_base&): Define new operator. (array_type_def::operator==(const type_base&): Likewise. (array_type_def::append_subrange{,s}): Define new functions. (array_type_def::{set,get}_size_in_bits): Likewise. (array_type_def::get_dimension_count): Likewise. (array_type_def::get_qualified_name): Likewise. (array_type_def::get_pretty_representation): Likewise. (array_type_def::get_subrange_representation): Likewise. (array_type_def::traverse): Likewise. (array_type_def::get_{element_type,location,subranges}): Likewise. (array_type_def::is_infinite): Likewise. (array_type_def::~array_type_def): Define destructor. (ir_node_visitor::visit): Define function, taking pointer to array_type_def as an argument. * src/abg-reader.cc (map_id_and_node): Check if node is an array. (is_array_def): Check if object is an array. (handle_element_node): Handle array_type_def as well. (build_subrange_type): Define new function. (build_array_type_def): Likewise. (build_type): Build type array_type_def as well. (build_type_composition): Likewise. (handle_array_type_def): Define new function. * src/abg-writer.cc: (write_decl): Output arrays as well. (write_member_type): Likewise. (write_type_composition): Likewise. (write_array_type_def): Define new function. * tests/data/test-diff-dwarf/test{10,11}-v{0,1}.{cc,o}: New test source files * tests/data/test-diff-dwarf/test{10,11}-report.txt: Likewise. * tests/data/test-diff-dwarf/test10-report.txt: New test input. * tests/data/test-read-dwarf/test7.cc: New test source file. * tests/data/test-read-dwarf/test7.so: New input binary to read. * tests/data/test-read-dwarf/test7.so.abi: New reference test to compare against. * tests/data/test-read-write/test25.xml: New test source file. * tests/test-diff-dwarf.cc: Adjust to launch the new test. * tests/test-read-dwarf.cc: Likewise. * tests/test-read-write.cc: Likewise. * test/Makefile.am: Add the new test inputs to the source distribution. Signed-off-by: Ondrej Oprala <ooprala@redhat.com> Signed-off-by: Dodji Seketeli <dodji@redhat.com>
319 lines
11 KiB
Makefile
319 lines
11 KiB
Makefile
AUTOMAKE_OPTIONS=subdir-objects
|
|
|
|
h=$(abs_srcdir)
|
|
|
|
TESTS= \
|
|
runtestreadwrite \
|
|
runtestwritereadarchive \
|
|
runtestreaddwarf \
|
|
runtestlookupsyms \
|
|
runtestaltdwarf \
|
|
runtestcorediff \
|
|
runtestbidiff \
|
|
runtestdiffdwarf \
|
|
runtestdifffilter \
|
|
runtestsvg \
|
|
runtestdot
|
|
|
|
noinst_PROGRAMS= $(TESTS) testirwalker testdiff2
|
|
|
|
noinst_LTLIBRARIES = libtestutils.la
|
|
|
|
libtestutils_la_SOURCES= \
|
|
test-utils.h \
|
|
test-utils.cc
|
|
|
|
libtestutils_la_LIBADD=$(top_builddir)/tools/libtoolsutils.la
|
|
libtestutils_la_DEPENDENCIES=$(top_builddir)/tools/libtoolsutils.la
|
|
|
|
libtestutils_la_CXXFLAGS= \
|
|
-DABIGAIL_SRC_DIR=\"${abs_top_srcdir}\" \
|
|
-DABIGAIL_BUILD_DIR=\"${abs_top_builddir}\"
|
|
|
|
runtestreadwrite_SOURCES=test-read-write.cc
|
|
runtestreadwrite_LDADD=libtestutils.la $(top_builddir)/src/libabigail.la
|
|
|
|
runtestwritereadarchive_SOURCES=test-write-read-archive.cc
|
|
runtestwritereadarchive_LDADD= libtestutils.la $(top_builddir)/src/libabigail.la $(top_builddir)/tools/libtoolsutils.la
|
|
|
|
runtestreaddwarf_SOURCES=test-read-dwarf.cc
|
|
runtestreaddwarf_LDADD=libtestutils.la $(top_builddir)/src/libabigail.la
|
|
|
|
runtestlookupsyms_SOURCES=test-lookup-syms.cc
|
|
runtestlookupsyms_LDADD=libtestutils.la $(top_builddir)/src/libabigail.la
|
|
|
|
runtestaltdwarf_SOURCES=test-alt-dwarf-file.cc
|
|
runtestaltdwarf_LDADD=libtestutils.la $(top_builddir)/src/libabigail.la
|
|
|
|
runtestcorediff_SOURCES=test-core-diff.cc
|
|
runtestcorediff_LDADD=libtestutils.la $(top_builddir)/src/libabigail.la
|
|
|
|
runtestbidiff_SOURCES = test-bidiff.cc
|
|
runtestbidiff_LDADD = libtestutils.la $(top_builddir)/src/libabigail.la
|
|
|
|
runtestdiffdwarf_SOURCES = test-diff-dwarf.cc
|
|
runtestdiffdwarf_LDADD = libtestutils.la $(top_builddir)/src/libabigail.la
|
|
|
|
runtestdifffilter_SOURCES = test-diff-filter.cc
|
|
runtestdifffilter_LDADD = libtestutils.la $(top_builddir)/src/libabigail.la
|
|
|
|
runtestsvg_SOURCES=test-svg.cc
|
|
runtestsvg_LDADD=$(top_builddir)/src/libabigail.la
|
|
|
|
runtestdot_SOURCES=test-dot.cc
|
|
runtestdot_LDADD=$(top_builddir)/src/libabigail.la
|
|
|
|
testirwalker_SOURCES=test-ir-walker.cc
|
|
testirwalker_LDADD=$(top_builddir)/src/libabigail.la
|
|
|
|
testdiff2_SOURCES=test-diff2.cc
|
|
testdiff2_LDADD=$(top_builddir)/src/libabigail.la
|
|
|
|
AM_CPPFLAGS=-I${abs_top_srcdir}/include \
|
|
-I${abs_top_builddir}/include -I${abs_top_srcdir}/tools
|
|
AM_CXXFLAGS="-std=gnu++11"
|
|
|
|
EXTRA_DIST= \
|
|
data/test-read-write/test0.xml \
|
|
data/test-read-write/test1.xml \
|
|
data/test-read-write/test2.xml \
|
|
data/test-read-write/test3.xml \
|
|
data/test-read-write/test4.xml \
|
|
data/test-read-write/test5.xml \
|
|
data/test-read-write/test6.xml \
|
|
data/test-read-write/test7.xml \
|
|
data/test-read-write/test8.xml \
|
|
data/test-read-write/test9.xml \
|
|
data/test-read-write/test10.xml \
|
|
data/test-read-write/test11.xml \
|
|
data/test-read-write/test12.xml \
|
|
data/test-read-write/test13.xml \
|
|
data/test-read-write/test14.xml \
|
|
data/test-read-write/test15.xml \
|
|
data/test-read-write/test16.xml \
|
|
data/test-read-write/test17.xml \
|
|
data/test-read-write/test18.xml \
|
|
data/test-read-write/test19.xml \
|
|
data/test-read-write/test20.xml \
|
|
data/test-read-write/test21.xml \
|
|
data/test-read-write/test22.xml \
|
|
data/test-read-write/test23.xml \
|
|
data/test-read-write/test24.xml \
|
|
data/test-read-write/test25.xml \
|
|
\
|
|
data/test-write-read-archive/test0.xml \
|
|
data/test-write-read-archive/test1.xml \
|
|
data/test-write-read-archive/test2.xml \
|
|
data/test-write-read-archive/test3.xml \
|
|
data/test-write-read-archive/test4.xml \
|
|
\
|
|
data/test-bidiff/test-enum0-v0.cc.bi \
|
|
data/test-bidiff/test-enum0-v1.cc.bi \
|
|
data/test-bidiff/test-enum0-report.txt \
|
|
data/test-bidiff/test-enum1-v0.cc.bi \
|
|
data/test-bidiff/test-enum1-v1.cc.bi \
|
|
data/test-bidiff/test-enum1-report.txt \
|
|
data/test-bidiff/test-qual-type0-v0.cc.bi \
|
|
data/test-bidiff/test-qual-type0-v1.cc.bi \
|
|
data/test-bidiff/test-qual-type0-report.txt \
|
|
data/test-bidiff/test-struct0-v0.cc.bi \
|
|
data/test-bidiff/test-struct0-v1.cc.bi \
|
|
data/test-bidiff/test-struct0-report.txt \
|
|
data/test-bidiff/test-struct1-v0.cc.bi \
|
|
data/test-bidiff/test-struct1-v1.cc.bi \
|
|
data/test-bidiff/test-struct1-report.txt \
|
|
data/test-bidiff/test-var0-v0.cc.bi \
|
|
data/test-bidiff/test-var0-v1.cc.bi \
|
|
data/test-bidiff/test-var0-report.txt \
|
|
\
|
|
data/test-diff-dwarf/test0-v0.cc \
|
|
data/test-diff-dwarf/test0-v0.o \
|
|
data/test-diff-dwarf/test0-v1.cc \
|
|
data/test-diff-dwarf/test0-v1.o \
|
|
data/test-diff-dwarf/test0-report.txt \
|
|
data/test-diff-dwarf/test1-v0.cc \
|
|
data/test-diff-dwarf/test1-v0.o \
|
|
data/test-diff-dwarf/test1-v1.cc \
|
|
data/test-diff-dwarf/test1-v1.o \
|
|
data/test-diff-dwarf/test1-report.txt \
|
|
data/test-diff-dwarf/test2-v0.cc \
|
|
data/test-diff-dwarf/test2-v0.o \
|
|
data/test-diff-dwarf/test2-v1.cc \
|
|
data/test-diff-dwarf/test2-v1.o \
|
|
data/test-diff-dwarf/test2-report.txt \
|
|
data/test-diff-dwarf/test3-v0.cc \
|
|
data/test-diff-dwarf/test3-v0.o \
|
|
data/test-diff-dwarf/test3-v1.cc \
|
|
data/test-diff-dwarf/test3-v1.o \
|
|
data/test-diff-dwarf/test3-report.txt \
|
|
data/test-diff-dwarf/test4-v0.cc \
|
|
data/test-diff-dwarf/test4-v0.o \
|
|
data/test-diff-dwarf/test4-v1.cc \
|
|
data/test-diff-dwarf/test4-v1.o \
|
|
data/test-diff-dwarf/test4-report.txt \
|
|
data/test-diff-dwarf/test5-v0.cc \
|
|
data/test-diff-dwarf/test5-v0.o \
|
|
data/test-diff-dwarf/test5-v1.cc \
|
|
data/test-diff-dwarf/test5-v1.o \
|
|
data/test-diff-dwarf/test5-report.txt \
|
|
data/test-diff-dwarf/test6-v0.cc \
|
|
data/test-diff-dwarf/test6-v0.o \
|
|
data/test-diff-dwarf/test6-v1.cc \
|
|
data/test-diff-dwarf/test6-v1.o \
|
|
data/test-diff-dwarf/test6-report.txt \
|
|
data/test-diff-dwarf/test7-v0.cc \
|
|
data/test-diff-dwarf/test7-v0.o \
|
|
data/test-diff-dwarf/test7-v1.cc \
|
|
data/test-diff-dwarf/test7-v1.o \
|
|
data/test-diff-dwarf/test7-report.txt \
|
|
data/test-diff-dwarf/test8-v0.cc \
|
|
data/test-diff-dwarf/test8-v0.o \
|
|
data/test-diff-dwarf/test8-v1.cc \
|
|
data/test-diff-dwarf/test8-v1.o \
|
|
data/test-diff-dwarf/test8-report.txt \
|
|
data/test-diff-dwarf/test9-v0.cc \
|
|
data/test-diff-dwarf/libtest9-v0.so \
|
|
data/test-diff-dwarf/test9-v1.cc \
|
|
data/test-diff-dwarf/libtest9-v1.so \
|
|
data/test-diff-dwarf/test9-report.txt \
|
|
data/test-diff-dwarf/test10-v0.cc \
|
|
data/test-diff-dwarf/test10-v0.o \
|
|
data/test-diff-dwarf/test10-v1.cc \
|
|
data/test-diff-dwarf/test10-v1.o \
|
|
data/test-diff-dwarf/test10-report.txt \
|
|
data/test-diff-dwarf/test11-v0.cc \
|
|
data/test-diff-dwarf/test11-v0.o \
|
|
data/test-diff-dwarf/test11-v1.cc \
|
|
data/test-diff-dwarf/test11-v1.o \
|
|
data/test-diff-dwarf/test11-report.txt \
|
|
\
|
|
data/test-read-dwarf/test0 \
|
|
data/test-read-dwarf/test0.abi \
|
|
data/test-read-dwarf/test0.cc \
|
|
data/test-read-dwarf/test1 \
|
|
data/test-read-dwarf/test1.abi \
|
|
data/test-read-dwarf/test1.cc \
|
|
tests/data/test-read-dwarf/test2.h \
|
|
tests/data/test-read-dwarf/test2-0.cc \
|
|
tests/data/test-read-dwarf/test2-1.cc \
|
|
tests/data/test-read-dwarf/test2.so \
|
|
tests/data/test-read-dwarf/test2.so.abi \
|
|
tests/data/test-read-dwarf/test3.c \
|
|
tests/data/test-read-dwarf/test3.so \
|
|
tests/data/test-read-dwarf/test4.c \
|
|
tests/data/test-read-dwarf/test4.so \
|
|
tests/data/test-read-dwarf/test5.cc \
|
|
tests/data/test-read-dwarf/test5.so \
|
|
tests/data/test-read-dwarf/test6.cc \
|
|
tests/data/test-read-dwarf/test6.so \
|
|
\
|
|
data/test-diff-filter/test0-v0.cc \
|
|
data/test-diff-filter/test0-v1.cc \
|
|
data/test-diff-filter/test0-v0.o \
|
|
data/test-diff-filter/test0-v1.o \
|
|
data/test-diff-filter/test0-report.txt \
|
|
data/test-diff-filter/test1-v0.cc \
|
|
data/test-diff-filter/test1-v1.cc \
|
|
data/test-diff-filter/test1-v0.o \
|
|
data/test-diff-filter/test1-v1.o \
|
|
data/test-diff-filter/test1-report.txt \
|
|
data/test-diff-filter/test2-v0.cc \
|
|
data/test-diff-filter/test2-v1.cc \
|
|
data/test-diff-filter/test2-v0.o \
|
|
data/test-diff-filter/test2-v1.o \
|
|
data/test-diff-filter/test2-report.txt \
|
|
data/test-diff-filter/test3-v0.cc \
|
|
data/test-diff-filter/test3-v1.cc \
|
|
data/test-diff-filter/test3-v0.o \
|
|
data/test-diff-filter/test3-v1.o \
|
|
data/test-diff-filter/test3-report.txt \
|
|
data/test-diff-filter/test4-v0.cc \
|
|
data/test-diff-filter/test4-v1.cc \
|
|
data/test-diff-filter/test4-v0.o \
|
|
data/test-diff-filter/test4-v1.o \
|
|
data/test-diff-filter/test4-report.txt \
|
|
data/test-diff-filter/test5-v0.cc \
|
|
data/test-diff-filter/test5-v1.cc \
|
|
data/test-diff-filter/test5-v0.o \
|
|
data/test-diff-filter/test5-v1.o \
|
|
data/test-diff-filter/test5-report.txt \
|
|
data/test-diff-filter/test6-v0.cc \
|
|
data/test-diff-filter/test6-v1.cc \
|
|
data/test-diff-filter/test6-v0.o \
|
|
data/test-diff-filter/test6-v1.o \
|
|
data/test-diff-filter/test6-report.txt \
|
|
data/test-diff-filter/test7-v0.cc \
|
|
data/test-diff-filter/test7-v1.cc \
|
|
data/test-diff-filter/test7-v0.o \
|
|
data/test-diff-filter/test7-v1.o \
|
|
data/test-diff-filter/test7-report.txt \
|
|
data/test-diff-filter/test8-v0.cc \
|
|
data/test-diff-filter/test8-v1.cc \
|
|
data/test-diff-filter/test8-v0.o \
|
|
data/test-diff-filter/test8-v1.o \
|
|
data/test-diff-filter/test8-report.txt \
|
|
data/test-diff-filter/test9-v0.cc \
|
|
data/test-diff-filter/test9-v1.cc \
|
|
data/test-diff-filter/test9-v0.o \
|
|
data/test-diff-filter/test9-v1.o \
|
|
data/test-diff-filter/test9-report.txt \
|
|
data/test-diff-filter/test10-v0.cc \
|
|
data/test-diff-filter/test10-v1.cc \
|
|
data/test-diff-filter/test10-v0.o \
|
|
data/test-diff-filter/test10-v1.o \
|
|
data/test-diff-filter/test10-report.txt \
|
|
data/test-diff-filter/test11-v0.cc \
|
|
data/test-diff-filter/test11-v1.cc \
|
|
data/test-diff-filter/test11-v0.o \
|
|
data/test-diff-filter/test11-v1.o \
|
|
data/test-diff-filter/test11-report.txt \
|
|
data/test-diff-filter/test12-v0.cc \
|
|
data/test-diff-filter/test12-v1.cc \
|
|
data/test-diff-filter/test12-v0.o \
|
|
data/test-diff-filter/test12-v1.o \
|
|
data/test-diff-filter/test12-report.txt \
|
|
data/test-diff-filter/test13-v0.cc \
|
|
data/test-diff-filter/test13-v1.cc \
|
|
data/test-diff-filter/test13-v0.o \
|
|
data/test-diff-filter/test13-v1.o \
|
|
data/test-diff-filter/test13-report.txt \
|
|
data/test-diff-filter/test14-v0.cc \
|
|
data/test-diff-filter/test14-v1.cc \
|
|
data/test-diff-filter/test14-v0.o \
|
|
data/test-diff-filter/test14-v1.o \
|
|
data/test-diff-filter/test14-0-report.txt \
|
|
data/test-diff-filter/test14-1-report.txt \
|
|
data/test-diff-filter/test15-v0.cc \
|
|
data/test-diff-filter/test15-v1.cc \
|
|
data/test-diff-filter/test15-v0.o \
|
|
data/test-diff-filter/test15-v1.o \
|
|
data/test-diff-filter/test15-0-report.txt \
|
|
data/test-diff-filter/test15-1-report.txt \
|
|
\
|
|
data/test-lookup-syms/test0.cc \
|
|
data/test-lookup-syms/test0.o \
|
|
data/test-lookup-syms/test0-report.txt \
|
|
data/test-lookup-syms/test01-report.txt \
|
|
data/test-lookup-syms/test02-report.txt \
|
|
data/test-lookup-syms/test1.c \
|
|
data/test-lookup-syms/test1.version-script \
|
|
data/test-lookup-syms/test1.so \
|
|
data/test-lookup-syms/test1-1-report.txt \
|
|
data/test-lookup-syms/test1-2-report.txt \
|
|
data/test-lookup-syms/test1-3-report.txt \
|
|
\
|
|
data/test-alt-dwarf-file/test0.cc \
|
|
data/test-alt-dwarf-file/libtest0.so \
|
|
data/test-alt-dwarf-file/test0-common.cc \
|
|
data/test-alt-dwarf-file/libtest0-common.so \
|
|
data/test-alt-dwarf-file/test0-report.txt \
|
|
data/test-alt-dwarf-file/test0-debug-dir/test0-common-dwz.debug \
|
|
data/test-alt-dwarf-file/test0-debug-dir/.build-id/16/7088580c513b439c9ed95fe6a8b29496495f26.debug
|
|
|
|
|
|
clean-local: clean-local-check
|
|
.PHONY: clean-local-check
|
|
|
|
clean-local-check:
|
|
-rm -rf ${builddir}/output *.svg *.gv
|