libabigail/include
Matthias Maennich fca2661581 Make write_architecture and write_corpus_path flags in the write_context
Having write_context carry corresponding flags for output sensitive
command line options, is useful to ensure these options are not lost in
chains for write_* calls. In particular, these options can have various
meanings depending on the context (corpus, corpus_group, etc.)

Hence add them to the write_context along with getters and setters and
make the writers aware of their existence. We do not need to modify the
corpus or corpus group's path or architecture any longer as they get
ignored for a different reason now.

Finally, drop the flag handling in abidw as it is already done via
set_opts, which learned about these new flags.

	* include/abg-writer.h (set_write_architecture)
	(set_write_corpus_path): Declare new getter functions.
	(write_corpus): Take a new "member_of_group" argument.
	(set_common_options): Use set_write_{architecture, corpus_path}
	here.
	* src/abg-writer.cc (write_context::m_write_{architecture,
	corpus_path}}): Add new data members.
	(write_context::write_context): Initialize the new data members.
	(write_context::{s,g}et_write_{architecture, corpus}): Define new
	accessors.
	(set_write_{architecture, corpus}): Define new free-form getter
	functions.
	(write_corpus): Add flag to make aware if written as part of a
	group.
	* tools/abidw.cc (load_corpus_and_write_abixml)
	(load_kernel_corpus_group_and_write_abixml): Drop obsolete option
	handling as xml_writer::set_common_options now takes care of it.

Signed-off-by: Matthias Maennich <maennich@google.com>
Signed-off-by: Dodji Seketeli <dodji@redhat.com>

ldiff --git a/include/abg-writer.h b/include/abg-writer.h
index 200b5f7..729b455 100644
--- a/include/abg-writer.h
+++ b/include/abg-writer.h
@@ -53,6 +53,11 @@ set_show_locs(write_context& ctxt, bool flag);
 void
 set_annotate(write_context& ctxt, bool flag);

+void
+set_write_architecture(write_context& ctxt, bool flag);
+
+void
+set_write_corpus_path(write_context& ctxt, bool flag);

 /// A convenience generic function to set common options (usually used
 /// by Libabigail tools) from a generic options carrying-object, into
@@ -69,6 +74,8 @@ set_common_options(write_context& ctxt, const OPTS& opts)
 {
   set_annotate(ctxt, opts.annotate);
   set_show_locs(ctxt, opts.show_locs);
+  set_write_architecture(ctxt, opts.write_architecture);
+  set_write_corpus_path(ctxt, opts.write_corpus_path);
 }

 void
@@ -105,7 +112,10 @@ write_corpus_to_archive(const corpus_sptr corp,
 			const bool annotate = false);

 bool
-write_corpus(write_context& ctxt, const corpus_sptr& corpus, unsigned indent);
+write_corpus(write_context&	ctxt,
+	     const corpus_sptr& corpus,
+	     unsigned		indent,
+	     bool		member_of_group = false);

 bool ABG_DEPRECATED
 write_corpus(const corpus_sptr& corpus, unsigned indent, write_context& ctxt);

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2019-05-22 14:33:45 +02:00
..
abg-comp-filter.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-comparison.h add missing virtual destructors 2019-04-16 16:11:01 +02:00
abg-config.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-corpus.h Bug 24552 - abidiff fails comparing a corpus against a corpus group 2019-05-16 18:10:08 +02:00
abg-diff-utils.h diff-utils: point: fix postfix decrement/increment operator 2019-04-16 16:11:01 +02:00
abg-dwarf-reader.h Avoid over-suppressing fns & vars when analysing the Kernel 2019-02-19 17:42:56 +01:00
abg-fwd.h Add deprecation facilities 2019-05-22 14:33:45 +02:00
abg-hash.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-ini.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-interned-str.h Add missing assignment operators 2019-03-27 15:24:21 +01:00
abg-ir.h Better handle several anonymous types of the same kind 2019-05-09 15:19:05 +02:00
abg-libxml-utils.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-libzip-utils.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-reader.h Separate public types of first binary from those of the second 2019-01-16 12:27:45 +01:00
abg-reporter.h add missing virtual destructors 2019-04-16 16:11:01 +02:00
abg-sptr-utils.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-suppression.h Bug 24139 - Support suppressing some enumerator changes 2019-01-31 09:20:06 +01:00
abg-tools-utils.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-traverse.h add missing virtual destructors 2019-04-16 16:11:01 +02:00
abg-version.h.in Add --version option to several libabigail tools 2015-11-16 12:54:10 +01:00
abg-viz-common.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-viz-dot.h viz-dot: remove unused members from dot 2019-04-16 16:11:01 +02:00
abg-viz-svg.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-workers.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-writer.h Make write_architecture and write_corpus_path flags in the write_context 2019-05-22 14:33:45 +02:00
Makefile.am Allow several kinds of reports to be emitted 2017-10-06 12:33:50 +02:00