From 522ac2595db1aa511133c5b25cc8546b47bdd11f Mon Sep 17 00:00:00 2001 From: Dodji Seketeli Date: Mon, 8 Apr 2019 11:17:09 +0200 Subject: [PATCH] Internal pretty repr of union cannot be flat representation This is the first patch of this series: Internal pretty repr of union cannot be flat representation Fix anonymous union constructed under the wrong context Propagate private type diff category through refs/qualified type diffs The intent of this series is to fix the bug: https://sourceware.org/bugzilla/show_bug.cgi?id=24410 "Empty change report emitted for libpoppler-qt5.so.1.18.0" The internal pretty representation of a union must be its fully qualified name, even when it's a anonymous union. It cannot be its flat representation as for anonymous unions, that would lead to confusion between anonymous unions that have the same flat representation but are in different scopes. Fixed thus. Note that regression tests are all updated in the last patch of the series * src/abg-ir.cc (union_decl::get_pretty_representation): Anonymous internal pretty representation of unin is its fully qualified name. Signed-off-by: Dodji Seketeli --- src/abg-ir.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/abg-ir.cc b/src/abg-ir.cc index 54459a33..96adc584 100644 --- a/src/abg-ir.cc +++ b/src/abg-ir.cc @@ -19718,7 +19718,7 @@ string union_decl::get_pretty_representation(bool internal) const { string repr; - if (get_is_anonymous()) + if (get_is_anonymous() && !internal) repr = get_class_or_union_flat_representation(this, "", /*one_line=*/true); else -- 2.43.5