The various peel_*_type functions are supposed to return either an
underlying type (when something can be "peeled") or the original
type (when not).
This overload of peel_typedef_type currently returns null if the type
isn't a typedef. This patch corrects this.
The bug hasn't bitten as all existing calls are protected by an
is_typedef check. Note that the recursive calls within the function
are to the other (const type_base_sptr&) overload.
* src/abg-ir.cc (peel_typedef_type): In the const type_base*
overload, return the original argument rather than null if the
type isn't actually a typedef.
Signed-off-by: Giuliano Procida <gprocida@google.com>
{
const typedef_decl* t = is_typedef(type);
if (!t)
- return t;
+ return type;
return peel_typedef_type(t->get_underlying_type()).get();
}