[Ada] Fix spurious error on unchecked conversion on VFA record type
2018-08-21 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * gcc-interface/trans.c (Call_to_gnu): Always suppress an unchecked conversion around the actual for an In parameter passed by copy. From-SVN: r263718
This commit is contained in:
parent
294e7bbb9e
commit
1ab1c4ee18
@ -1,3 +1,9 @@
|
|||||||
|
2018-08-21 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
* gcc-interface/trans.c (Call_to_gnu): Always suppress an
|
||||||
|
unchecked conversion around the actual for an In parameter
|
||||||
|
passed by copy.
|
||||||
|
|
||||||
2018-08-21 Eric Botcazou <ebotcazou@adacore.com>
|
2018-08-21 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
* exp_util.adb (Is_Possibly_Unaligned_Object): For the case of a
|
* exp_util.adb (Is_Possibly_Unaligned_Object): For the case of a
|
||||||
|
@ -4450,6 +4450,7 @@ Call_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p, tree gnu_target,
|
|||||||
const bool suppress_type_conversion
|
const bool suppress_type_conversion
|
||||||
= ((Nkind (gnat_actual) == N_Unchecked_Type_Conversion
|
= ((Nkind (gnat_actual) == N_Unchecked_Type_Conversion
|
||||||
&& (!in_param
|
&& (!in_param
|
||||||
|
|| !is_by_ref_formal_parm
|
||||||
|| (Is_Composite_Type (Underlying_Type (gnat_formal_type))
|
|| (Is_Composite_Type (Underlying_Type (gnat_formal_type))
|
||||||
&& !Is_Constrained (Underlying_Type (gnat_formal_type)))))
|
&& !Is_Constrained (Underlying_Type (gnat_formal_type)))))
|
||||||
|| (Nkind (gnat_actual) == N_Type_Conversion
|
|| (Nkind (gnat_actual) == N_Type_Conversion
|
||||||
|
Loading…
Reference in New Issue
Block a user