From: Richard Kenner Date: Sat, 2 Mar 1996 17:44:23 +0000 (-0500) Subject: (SKIP_CALLERS_UNIMP_P): Make agree with test used in call. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=06b967f926b788a80f2880a3fd09e0969964808d;p=gcc.git (SKIP_CALLERS_UNIMP_P): Make agree with test used in call. From-SVN: r11402 --- diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index f34a369797d..8bf67aa24e5 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -39,9 +39,14 @@ Boston, MA 02111-1307, USA. */ /* 1 if the caller has placed an "unimp" insn immediately after the call. This is used in v8 code when calling a function that returns a structure. - v9 doesn't have this. */ - -#define SKIP_CALLERS_UNIMP_P (!TARGET_ARCH64 && current_function_returns_struct) + v9 doesn't have this. Be careful to have this test be the same as that + used on the call. */ + +#define SKIP_CALLERS_UNIMP_P \ +(!TARGET_ARCH64 && current_function_returns_struct \ + && ! integer_zerop (DECL_SIZE (DECL_RESULT (current_function_decl))) \ + && (TREE_CODE (DECL_SIZE (DECL_RESULT (current_function_decl))) \ + == INTEGER_CST)) /* Global variables for machine-dependent things. */