libabigail/include
Dodji Seketeli 5be46a9615 Build & use a DIE -> parent map to avoid emitting useless types
* include/abg-ir.h (translation_unit::{mark_type_as_used,
	prune_unused_types}): Remove these declarations.
	* src/abg-ir.cc (translation_unit::priv::used_types_): Remove.
	(class subtype_marking_visitor): Likewise.
	(translation_unit::{mark_type_as_used, prune_unused_types):
	Likewise.
	(get_top_most_scope_under): Fix logic and add comment.
	* src/abg-dwarf-reader.cc (die_tu_map_type, offset_offset_map):
	New convenience typedefs.
	(read_context::{die_tu_map_, die_parent_map_}): New context
	members.
	(read_context::{die_tu_map, die_parent_map}): New accessors.
	(build_ir_node_from_die): New overload that takes the scope of the
	ir node in parameter.
	(die_signed_constant_attribute): Un-comment this.
	(build_die_parent_relations_under, build_die_parent_map)
	(get_parent_die, get_scope_for_die): New static functions.
	(build_translation_unit_and_add_to_ir): Renamed
	build_translation_unit into this. Populate the new
	read_context::die_tu_map() here.
	(canonicalize_and_add_type_to_ir)
	(canonicalize_and_insert_type_into_ir)
	(canonicalize_and_insert_type_into_ir_under_scope): Move these
	overloads over the top of the file.
	(build_namespace_decl_and_add_to_ir): Fix this by adding the
	namespace to the IR scope of the DIE (using the new
	get_scope_for_die()).  Update the read_context::die_decl_map()
	map.
	(build_function_decl): Support functions that return void.  Also,
	skip parameters that don't have type set.
	(build_corpus): Walk all the DIEs to build a DIE -> parent map.
	Adjust for the rename to build_translation_unit_and_add_to_ir.
	(build_ir_node_from_die): Add a scope parm.  Adjust back to
	building IR nodes only for public decls, unless the
	'called_from_public_decl' flag is set.  Adjust to stick the resulting
	IR node into the scope given in parameter.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2013-12-14 22:15:16 +01:00
..
abg-comparison.h Add diff support for var_decl 2013-11-28 15:05:30 +01:00
abg-config.h Doxygen markup fixes final. 2013-08-14 15:07:18 +02:00
abg-corpus.h Prepare serialization API for multiple backends 2013-12-04 20:26:38 +01:00
abg-diff-utils.h Re-write middle snakes management in core diff algorithms 2013-11-19 11:25:47 +01:00
abg-dwarf-reader.h Initial support of reading an ABI Corpus from DWARF 2013-12-07 08:07:54 +01:00
abg-fwd.h Add a is_type overload 2013-12-14 10:03:09 +01:00
abg-hash.h Nest hashers. 2013-08-14 15:07:19 +02:00
abg-ir.h Build & use a DIE -> parent map to avoid emitting useless types 2013-12-14 22:15:16 +01:00
abg-libxml-utils.h Make bilint read input from stdin 2013-12-11 15:20:42 +01:00
abg-libzip-utils.h Initial writing/reading of an ABI corpus to an archive 2013-08-27 16:20:41 +02:00
abg-reader.h Make bilint read input from stdin 2013-12-11 15:20:42 +01:00
abg-traverse.h Prepare node visitors to be usable on things other than IR nodes 2013-11-19 11:19:12 +01:00
abg-version.h.in Collapse subdir of include to include. 2013-08-14 15:07:18 +02:00
abg-viz-common.h Forward decls for abg-ir.h, doxygen fixups, restyle. 2013-08-14 15:07:18 +02:00
abg-viz-dot.h Forward decls for abg-ir.h, doxygen fixups, restyle. 2013-08-14 15:07:18 +02:00
abg-viz-svg.h Forward decls for abg-ir.h, doxygen fixups, restyle. 2013-08-14 15:07:18 +02:00
abg-writer.h Prepare serialization API for multiple backends 2013-12-04 20:26:38 +01:00
Makefile.am Initial support of reading an ABI Corpus from DWARF 2013-12-07 08:07:54 +01:00