writer: Make sorting referenced typedefs types stable in abixml

After the latest commits, it apears that sorting typedefs referenced
by by other types that are emitted in the abixml file is not stable
when the underlying types are integral types.

This happens after the commit:

	commit 7cd83740bf
	Author: Dodji Seketeli <dodji@redhat.com>
	Date:   Fri Jul 22 22:45:04 2022 +0200

	    ir: Consider integral types of same kind and size as equivalent

This patch fixes that by using the non-internal pretty representation
(which disambiguates integral types) of types for sorting purposes.

	* src/abg-writer.cc (read_context::type_ptr_cmp::operator()): In
	the less-than operator the type pointer comparison functor, use
	the non-internal pretty representation of types for sorting
	purposes.
	* tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
	Adjust
	* tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
	Likewise.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
This commit is contained in:
Dodji Seketeli
2022-07-24 17:33:02 +02:00
parent 7cd83740bf
commit df28c22097
3 changed files with 8 additions and 8 deletions
+2 -2
View File
@@ -693,8 +693,8 @@ public:
l = peel_typedef_type(l);
r = peel_typedef_type(r);
r1 = ir::get_pretty_representation(l, true),
r2 = ir::get_pretty_representation(r, true);
r1 = ir::get_pretty_representation(l, /*internal=*/false),
r2 = ir::get_pretty_representation(r, /*internal=*/false);
if (r1 != r2)
return r1 < r2;
@@ -12232,14 +12232,14 @@
</class-decl>
<class-decl name='vtkPixelTransfer' size-in-bits='8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-R_crTC/VTK-6.1.0/Rendering/LIC/vtkPixelTransfer.h' line='35' column='1' id='type-id-63'>
<member-type access='private'>
<!-- typedef long long int vtkPixelTransfer::VTK_TT -->
<typedef-decl name='VTK_TT' type-id='type-id-15' filepath='/tmp/legendre/spack-stage/spack-stage-R_crTC/VTK-6.1.0/Rendering/LIC/vtkPixelTransfer.h' line='138' column='1' id='type-id-419'/>
<!-- typedef int vtkPixelTransfer::VTK_TT -->
<typedef-decl name='VTK_TT' type-id='type-id-12' filepath='/tmp/legendre/spack-stage/spack-stage-R_crTC/VTK-6.1.0/Rendering/LIC/vtkPixelTransfer.h' line='138' column='1' id='type-id-417'/>
</member-type>
</class-decl>
<class-decl name='vtkPixelTransfer' size-in-bits='8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-R_crTC/VTK-6.1.0/Rendering/LIC/vtkPixelTransfer.h' line='35' column='1' id='type-id-63'>
<member-type access='private'>
<!-- typedef int vtkPixelTransfer::VTK_TT -->
<typedef-decl name='VTK_TT' type-id='type-id-12' filepath='/tmp/legendre/spack-stage/spack-stage-R_crTC/VTK-6.1.0/Rendering/LIC/vtkPixelTransfer.h' line='138' column='1' id='type-id-417'/>
<!-- typedef long long int vtkPixelTransfer::VTK_TT -->
<typedef-decl name='VTK_TT' type-id='type-id-15' filepath='/tmp/legendre/spack-stage/spack-stage-R_crTC/VTK-6.1.0/Rendering/LIC/vtkPixelTransfer.h' line='138' column='1' id='type-id-419'/>
</member-type>
</class-decl>
<class-decl name='vtkPixelTransfer' size-in-bits='8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-R_crTC/VTK-6.1.0/Rendering/LIC/vtkPixelTransfer.h' line='35' column='1' id='type-id-63'>
@@ -7592,12 +7592,12 @@
</class-decl>
<class-decl name='vtkPixelTransfer' size-in-bits='8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-R_crTC/VTK-6.1.0/Rendering/LIC/vtkPixelTransfer.h' line='35' column='1' id='type-id-63'>
<member-type access='private'>
<typedef-decl name='VTK_TT' type-id='type-id-15' filepath='/tmp/legendre/spack-stage/spack-stage-R_crTC/VTK-6.1.0/Rendering/LIC/vtkPixelTransfer.h' line='138' column='1' id='type-id-419'/>
<typedef-decl name='VTK_TT' type-id='type-id-12' filepath='/tmp/legendre/spack-stage/spack-stage-R_crTC/VTK-6.1.0/Rendering/LIC/vtkPixelTransfer.h' line='138' column='1' id='type-id-417'/>
</member-type>
</class-decl>
<class-decl name='vtkPixelTransfer' size-in-bits='8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-R_crTC/VTK-6.1.0/Rendering/LIC/vtkPixelTransfer.h' line='35' column='1' id='type-id-63'>
<member-type access='private'>
<typedef-decl name='VTK_TT' type-id='type-id-12' filepath='/tmp/legendre/spack-stage/spack-stage-R_crTC/VTK-6.1.0/Rendering/LIC/vtkPixelTransfer.h' line='138' column='1' id='type-id-417'/>
<typedef-decl name='VTK_TT' type-id='type-id-15' filepath='/tmp/legendre/spack-stage/spack-stage-R_crTC/VTK-6.1.0/Rendering/LIC/vtkPixelTransfer.h' line='138' column='1' id='type-id-419'/>
</member-type>
</class-decl>
<class-decl name='vtkPixelTransfer' size-in-bits='8' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-R_crTC/VTK-6.1.0/Rendering/LIC/vtkPixelTransfer.h' line='35' column='1' id='type-id-63'>