aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/misc.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2017-12-14 17:17:03 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2017-12-14 17:17:03 +0000
commitdb811328e004b0d97d25187dc985184c260955ee (patch)
treecdc4696c31233a740a69f8f3ea8f523d5f4c9c2a /gcc/ada/gcc-interface/misc.c
parent5505bb43b7b3277354563b69d1287efca21315cb (diff)
downloadgcc-db811328e004b0d97d25187dc985184c260955ee.zip
gcc-db811328e004b0d97d25187dc985184c260955ee.tar.gz
gcc-db811328e004b0d97d25187dc985184c260955ee.tar.bz2
* gcc-interface/misc.c (default_pass_by_ref): Minor tweak.
From-SVN: r255650
Diffstat (limited to 'gcc/ada/gcc-interface/misc.c')
-rw-r--r--gcc/ada/gcc-interface/misc.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c
index 9a4a48f..c45be73 100644
--- a/gcc/ada/gcc-interface/misc.c
+++ b/gcc/ada/gcc-interface/misc.c
@@ -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
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)
&& (!valid_constant_size_p (TYPE_SIZE_UNIT (gnu_type))
|| 0 < compare_tree_int (TYPE_SIZE_UNIT (gnu_type),
TYPE_ALIGN (gnu_type))))
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;
}