integrate.c (function_cannot_inline_p): Do not inline functions which return a BLKmod...
authorJeff Law <law@gcc.gnu.org>
Tue, 29 Nov 1994 05:44:47 +0000 (22:44 -0700)
committerJeff Law <law@gcc.gnu.org>
Tue, 29 Nov 1994 05:44:47 +0000 (22:44 -0700)
* integrate.c (function_cannot_inline_p): Do not inline functions
which return a BLKmode value in registers.

From-SVN: r8576

gcc/integrate.c

index 2355508f6e5b1c772b057f90345c86fe85cc93c7..6af0cf6293f4c466681012626f6f0178d12df4bd 100644 (file)
@@ -130,6 +130,11 @@ function_cannot_inline_p (fndecl)
   if (current_function_returns_pcc_struct)
     return "inline functions not supported for this return value type";
 
+  /* We can't inline functions that return BLKmode structures in registers.  */
+  if (TYPE_MODE (TREE_TYPE (TREE_TYPE (fndecl))) == BLKmode
+      && ! aggregate_value_p (TREE_TYPE (TREE_TYPE (fndecl))))
+    return "inline functions not supported for this return value type";
+
   /* We can't inline functions that return structures of varying size.  */
   if (int_size_in_bytes (TREE_TYPE (TREE_TYPE (fndecl))) < 0)
     return "function with varying-size return value cannot be inline";