From: Dodji Seketeli Date: Thu, 15 Dec 2016 13:12:57 +0000 (+0100) Subject: Don't early-canonicalize function types when reading abixml X-Git-Tag: upstream/1.0~194 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f7bb9cad097d552923e5cf1f68e51ce02a54efff;p=platform%2Fupstream%2Flibabigail.git Don't early-canonicalize function types when reading abixml When reading from an abixml file, we sometimes canonicalize function types before the entire abixml file is read. This can lead to, e.g, a function type that is not yet fully built being canonicalized too early and so its canonical type being wrong because it reflects the state of the function type at canonicalization time -- but then that state changed later. This patch fixes that by forcing us to late-canonicalize function types, just like we do for all aggregate types. * src/abg-reader.cc (read_context::maybe_canonicalize_type): late-canonicalize function types too. Signed-off-by: Dodji Seketeli --- diff --git a/src/abg-reader.cc b/src/abg-reader.cc index 235c816d..1ba7379c 100644 --- a/src/abg-reader.cc +++ b/src/abg-reader.cc @@ -838,7 +838,8 @@ public: && !is_pointer_type(t) && !is_qualified_type(t) && !is_typedef(t) - && !is_enum_type(t)) + && !is_enum_type(t) + && !is_function_type(t)) canonicalize(t); else {