libabigail/tests/data
Dodji Seketeli 43cbdd1501 ir: Recognize "void* as being equal to all other pointers in C
Today, the pointer-to-void type is naively considered as being
different to all other pointers by Libabigail.  This indirectly leads
to spurious changes in code bases where we have this kind of pattern:

    /* in foo.h */
    typedef void* some_pointer_type;

    struct foo
    {
      some_pointer_type member;
    };

    bool
    test_some_pointer_type(some_pointer_type);

    /* This header file is included by client code */

    /*in foo.c */
    typedef int* some_pointer_type;

    struct foo
    {
      some_pointer_type member;
    };

    bool
    test_some_pointer_type(some_pointer_type f)
    {
      /* The actual implementation.  */
    }

Another way to reproduce that spurious change is to run this command:

    $ fedabipkgdiff  --self-compare -a --from fc37 glibc

	* include/abg-fwd.h (is_void_pointer_type): Declare new function.
	* src/abg-ir.cc (is_void_pointer_type): Define new function.
	(equals): In the overload for pointer_type_def, handle the special
	case pointer to void, making it equal to all other pointer, for
	the C language.
	(is_non_canonicalized_type): pointer to void is no more
	canonicalized as it can be equal to all other types.
	* tests/data/test-annotate/libtest23.so.abi: Adjust
	* tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Likewise.
	* tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise.
	* tests/data/test-annotate/test1.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/test5.o.abi: Likewise.
	* tests/data/test-diff-filter/test31-pr18535-libstdc++-report-1.txt:
	Likewise.
	* tests/data/test-diff-filter/test47-filter-void-ptr-change-report-0.txt:
	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/libtest23.so.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/test1.abi: Likewise.
	* tests/data/test-read-dwarf/test1.hash.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/test5.o.abi: Likewise.
	* tests/data/test-read-dwarf/test5.o.hash.abi: Likewise.
	* tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2023-04-14 12:38:07 +02:00
..
test-abicompat default-reporter: Fix source location in functions change report 2023-02-10 13:15:27 +01:00
test-abidiff rhbz2114909 - Refer to changed base classes using their non-qualified names 2022-10-20 17:17:09 +02:00
test-abidiff-exit Fix redundancy filtering of range types 2023-03-31 23:14:01 +02:00
test-alt-dwarf-file
test-annotate ir: Recognize "void* as being equal to all other pointers in C 2023-04-14 12:38:07 +02:00
test-core-diff
test-default-supprs
test-diff-dwarf ir, writer: Go back to canonicalizing typedefs in the IR 2022-09-20 11:43:34 +02:00
test-diff-dwarf-abixml dwarf-reader: Support Ada subranges having upper_bound < lower_bound 2023-04-05 16:54:32 +02:00
test-diff-filter ir: Recognize "void* as being equal to all other pointers in C 2023-04-14 12:38:07 +02:00
test-diff-pkg abipkgdiff: Don't use user-specific filesystem info in error msg 2023-04-05 17:01:48 +02:00
test-diff-pkg-ctf ctf-reader: Set alignment-in-bits property to 0 2022-11-29 12:44:16 +01:00
test-diff-suppr suppression: Support offset_of_{first,last}_data_member_regexp offset selectors 2023-03-02 18:18:37 +01:00
test-fedabipkgdiff
test-ini
test-kmi-whitelist
test-lookup-syms
test-read-btf dwarf-reader: Support Ada subranges having upper_bound < lower_bound 2023-04-05 16:54:32 +02:00
test-read-common
test-read-ctf dwarf-reader: Support Ada subranges having upper_bound < lower_bound 2023-04-05 16:54:32 +02:00
test-read-dwarf ir: Recognize "void* as being equal to all other pointers in C 2023-04-14 12:38:07 +02:00
test-read-write dwarf-reader: Support Ada subranges having upper_bound < lower_bound 2023-04-05 16:54:32 +02:00
test-symtab
test-types-stability
test-write-read-archive
Makefile.am Fix redundancy filtering of range types 2023-03-31 23:14:01 +02:00