Commit db811328 by Eric Botcazou Committed by Eric Botcazou

* gcc-interface/misc.c (default_pass_by_ref): Minor tweak.

From-SVN: r255650
parent 5505bb43
2017-12-14 Eric Botcazou <ebotcazou@adacore.com> 2017-12-14 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/misc.c (default_pass_by_ref): Minor tweak.
2017-12-14 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/trans.c (Call_to_gnu): Set DECL_DISREGARD_INLINE_LIMITS * gcc-interface/trans.c (Call_to_gnu): Set DECL_DISREGARD_INLINE_LIMITS
to 0 on the callee if the call is recursive. to 0 on the callee if the call is recursive.
......
...@@ -1144,18 +1144,18 @@ default_pass_by_ref (tree gnu_type) ...@@ -1144,18 +1144,18 @@ default_pass_by_ref (tree gnu_type)
is an In Out parameter, but it's probably best to err on the side of is an In Out parameter, but it's probably best to err on the side of
passing more things by reference. */ passing more things by reference. */
if (pass_by_reference (NULL, TYPE_MODE (gnu_type), gnu_type, true))
return true;
if (targetm.calls.return_in_memory (gnu_type, NULL_TREE))
return true;
if (AGGREGATE_TYPE_P (gnu_type) if (AGGREGATE_TYPE_P (gnu_type)
&& (!valid_constant_size_p (TYPE_SIZE_UNIT (gnu_type)) && (!valid_constant_size_p (TYPE_SIZE_UNIT (gnu_type))
|| 0 < compare_tree_int (TYPE_SIZE_UNIT (gnu_type), || 0 < compare_tree_int (TYPE_SIZE_UNIT (gnu_type),
TYPE_ALIGN (gnu_type)))) TYPE_ALIGN (gnu_type))))
return true; return true;
if (pass_by_reference (NULL, TYPE_MODE (gnu_type), gnu_type, true))
return true;
if (targetm.calls.return_in_memory (gnu_type, NULL_TREE))
return true;
return false; return false;
} }
......
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