When a pointer_type_def or reference_type_def is initialized with an
empty pointed-to type, we want consider that as a pointer/reference to
void.
This patch does that. That helps to avoids to later crash because the
pointed-to-type is empty. Also, this patch fixes spots where the
pointed-to-type seems nonetheless empty.
I have used the two different versions of libstdc++ from RHEL 6.5 and RHEL
7 to spot and fix these issues.
* include/abg-fwd.h (type_or_void): Declare new function.
* src/abg-ir.cc (type_or_void): Define it.
(pointer_type_def::pointer_type_def)
(reference_type_def::reference_type_def)
(reference_type_def::get_qualified_name, strip_typedef): Use it to
ensure that empty pointed-to-type is considered as a void type.