mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-11 23:30:37 +08:00
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
This commit is contained in:
parent
33420a449f
commit
69601f746d
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user