libabigail/tests/data/test-read-write
Dodji Seketeli fee06608fc dwarf-reader: Support Ada subranges having upper_bound < lower_bound
If the subrange's upper_bound is lower than its lower_bound, that
means the subrange has a length of zero.  This is Ada lingo.  You can
learn more about this at
https://en.wikibooks.org/wiki/Ada_Programming/Types/array#Array_Attributes,
for instance.

This patch teaches the DWARF reader about this.

	* src/abg-dwarf-reader.cc (build_subrange_type): Be aware that
	the upper_bound can be lower than lower_bound..  This most
	likely means the length of the subrange is zero.
	* src/abg-ir.cc (array_type_def::subrange_type::get_length): If
	lower_bound > upper_bound, then length is zero.  This is Ada
	lingo.
	* src/abg-writer.cc (write_array_subrange_type): Always emit
	lower_bound and upper_bound.  Acknowledge that if lower_bound >
	upper_bound, it means length is zero.
	* tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Adjust.
	* tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise.
	* tests/data/test-annotate/test13-pr18894.so.abi: Likewise.
	* tests/data/test-annotate/test14-pr18893.so.abi: Likewise.
	* tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
	* tests/data/test-annotate/test17-pr19027.so.abi: Likewise.
	* tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
	Likewise.
	* tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
	Likewise.
	* tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
	Likewise.
	* tests/data/test-annotate/test21-pr19092.so.abi: Likewise.
	* tests/data/test-annotate/test7.so.abi: Likewise.
	* tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi:
	Likewise.
	* tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1-report-0.txt:
	Likewise.
	* tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi:
	Likewise.
	* tests/data/test-read-btf/test0.o.abi: Likewise.
	* tests/data/test-read-ctf/test-ambiguous-struct-A.o.hash.abi:
	Likewise.
	* tests/data/test-read-ctf/test-array-mdimension.abi: Likewise.
	* tests/data/test-read-ctf/test-array-of-pointers.abi: Likewise.
	* tests/data/test-read-ctf/test-array-size.abi: Likewise.
	* tests/data/test-read-ctf/test-const-array.abi: Likewise.
	* tests/data/test-read-ctf/test-dynamic-array.o.abi: Likewise.
	* tests/data/test-read-ctf/test0.abi: Likewise.
	* tests/data/test-read-ctf/test0.hash.abi: Likewise.
	* tests/data/test-read-ctf/test9.o.abi: Likewise.
	* tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise.
	* tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi:
	Likewise.
	* tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise.
	* tests/data/test-read-dwarf/test-libaaudio.so.abi: Likewise.
	* tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
	* tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
	* tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
	* tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
	* tests/data/test-read-dwarf/test13-pr18894.so.abi: Likewise.
	* tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
	* tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
	* tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
	* tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise.
	* tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise.
	* tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
	Likewise.
	* tests/data/test-read-dwarf/test7.so.abi: Likewise.
	* tests/data/test-read-dwarf/test7.so.hash.abi: Likewise.
	* tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
	* tests/data/test-read-write/test25.xml: Likewise.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2023-04-05 16:54:32 +02:00
..
test0.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test1.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test2.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test3.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test4.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test5.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test6.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test7.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test8.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test9.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test10.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test11.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test12.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test13.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test14.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test15.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test16.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test17.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test18.xml ir, writer: Go back to canonicalizing typedefs in the IR 2022-09-20 11:43:34 +02:00
test19.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test20.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test21.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test22.xml ir: Consider integral types of same kind and size as equivalent 2022-07-23 01:24:28 +02:00
test23.xml ir: Consider integral types of same kind and size as equivalent 2022-07-23 01:24:28 +02:00
test24.xml Bump ABIXML format version to 2.0 2021-02-01 14:09:29 +01:00
test25.xml dwarf-reader: Support Ada subranges having upper_bound < lower_bound 2023-04-05 16:54:32 +02:00
test26.xml Bug 29340 - Add support for Ada range types 2023-03-31 23:14:01 +02:00
test27.xml Bug 29340 - Add support for Ada range types 2023-03-31 23:14:01 +02:00
test28-drop-std-fns.abignore Drop suppressed ABI artifacts from the IR 2016-09-21 18:35:08 +02:00
test28-drop-std-vars.abignore Drop suppressed ABI artifacts from the IR 2016-09-21 18:35:08 +02:00
test28-without-std-fns-ref.xml Bug 29340 - Add support for Ada range types 2023-03-31 23:14:01 +02:00
test28-without-std-fns.xml Drop suppressed ABI artifacts from the IR 2016-09-21 18:35:08 +02:00
test28-without-std-vars-ref.xml Bug 29340 - Add support for Ada range types 2023-03-31 23:14:01 +02:00
test28-without-std-vars.xml Drop suppressed ABI artifacts from the IR 2016-09-21 18:35:08 +02:00
test28.xml Drop suppressed ABI artifacts from the IR 2016-09-21 18:35:08 +02:00
test-crc.xml Bug 29340 - Add support for Ada range types 2023-03-31 23:14:01 +02:00