2020-06-11 Eric Botcazou <ebotcazou@adacore.com>
gcc/ada/
* exp_util.adb (Safe_Unchecked_Type_Conversion): Add missing
Is_Type guard before calling Has_Discriminants on Etype.
elsif Nkind (Pexp) = N_Selected_Component
and then Prefix (Pexp) = Exp
then
- if No (Etype (Pexp)) then
- return True;
- else
- return
- not Has_Discriminants (Etype (Pexp))
- or else Is_Constrained (Etype (Pexp));
- end if;
+ return No (Etype (Pexp))
+ or else not Is_Type (Etype (Pexp))
+ or else not Has_Discriminants (Etype (Pexp))
+ or else Is_Constrained (Etype (Pexp));
end if;
-- Set the output type, this comes from Etype if it is set, otherwise we