Commit 69601f74 by Eric Botcazou Committed by Arnaud Charlet

decl.c (gnat_to_gnu_entity): Do not strip the padding type if the parameter is…

decl.c (gnat_to_gnu_entity): Do not strip the padding type if the parameter is not passed by copy but...

2005-07-07  Eric Botcazou  <ebotcazou@adacore.com>

	* decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not strip the padding
	type if the parameter is not passed by copy but reference by default.

From-SVN: r101693
parent 33420a44
......@@ -3426,8 +3426,12 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
if (TREE_CODE (gnu_param_type) == RECORD_TYPE
&& TYPE_IS_PADDING_P (gnu_param_type)
&& (req_by_ref || Has_Foreign_Convention (gnat_entity)
|| !must_pass_by_ref (TREE_TYPE (TYPE_FIELDS
(gnu_param_type)))))
|| (!must_pass_by_ref (TREE_TYPE (TYPE_FIELDS
(gnu_param_type)))
&& (req_by_copy
|| !default_pass_by_ref (TREE_TYPE
(TYPE_FIELDS
(gnu_param_type)))))))
gnu_param_type = TREE_TYPE (TYPE_FIELDS (gnu_param_type));
/* If this is an IN parameter it is read-only, so make a variant
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment