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 <dodji@redhat.com>
&& !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
{