libabigail/include
Dodji Seketeli 9ab2c3a3fd Use size/alignment of class definition when requested on declaration
Sometimes during hashing the "type sub-object" of a class can be
queried for its size or alignment.  In those case, if the class is a
declaration that happens to be accompanied with a definition, its the
size/alignment of the definition that we want, not the one of the
declaration, that is zero.  Otherwise, this can cause spurious hashing
changes between two class types that are otherwise equivalent modulo
the use of a class declaration.

This patch being part of a series that aims at fixing a number of type
hashing issues, the regression tests are adjusted at the end of the
series, not here.

	* include/abg-ir.h (type_base::{set_size_in_bits,
	set_alignment_in_bits}): Make these member functions virtual.
	(class_decl::{set_size_in_bits, get_size_in_bits,
	get_alignment_in_bits, set_alignment_in_bits}): Declare these
	virtual member functions.
	* src/abg-ir.cc (class_decl::{set_size_in_bits, get_size_in_bits,
	get_alignment_in_bits, set_alignment_in_bits}): Define these
	virtual functions.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2015-08-29 16:23:15 +02:00
..
abg-comp-filter.h Bug 17649 Avoid endless looping on diff graph with cycles 2015-02-21 15:16:48 +01:00
abg-comparison.h Update diff stats when added symbols are removed from change report 2015-08-06 15:15:41 +02:00
abg-config.h Update copyright years 2015-01-07 17:52:10 +01:00
abg-corpus.h Consider default symbol versions when computing added/removed fns/vars 2015-07-24 14:04:11 +02:00
abg-diff-utils.h Update copyright years 2015-01-07 17:52:10 +01:00
abg-dwarf-reader.h Add a --stats to abidiff and abidw 2015-08-20 13:25:42 +02:00
abg-fwd.h Accept base classes which types are compatible with class type 2015-08-29 16:23:15 +02:00
abg-hash.h Update copyright years 2015-01-07 17:52:10 +01:00
abg-ini.h Support specifying data member insertion in suppressions 2015-05-24 23:43:02 +02:00
abg-ir.h Use size/alignment of class definition when requested on declaration 2015-08-29 16:23:15 +02:00
abg-libxml-utils.h Update copyright years 2015-01-07 17:52:10 +01:00
abg-libzip-utils.h Update copyright years 2015-01-07 17:52:10 +01:00
abg-reader.h Handle the life time of the map of canonical types 2015-07-09 11:12:40 +02:00
abg-sptr-utils.h Update copyright years 2015-01-07 17:52:10 +01:00
abg-tools-utils.h Make abipkgdiff compare tar archives containing binaries 2015-08-22 14:32:20 +02:00
abg-traverse.h Canonicalize types either early or late after TU reading 2015-02-18 21:32:37 +01:00
abg-version.h.in Collapse subdir of include to include. 2013-08-14 15:07:18 +02:00
abg-viz-common.h Update copyright years 2015-01-07 17:52:10 +01:00
abg-viz-dot.h Update copyright years 2015-01-07 17:52:10 +01:00
abg-viz-svg.h Update copyright years 2015-01-07 17:52:10 +01:00
abg-writer.h Update copyright years 2015-01-07 17:52:10 +01:00
Makefile.am Expose a new libabigail::tools_utils namespace 2015-01-08 12:28:14 +01:00