From: Richard Stallman Date: Thu, 11 Jun 1992 20:48:19 +0000 (+0000) Subject: (RETURN_IN_MEMORY): Do nothing for structs and unions. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dafe6cf1fbcb996ec77a7322bd7de6e033b7244a;p=gcc.git (RETURN_IN_MEMORY): Do nothing for structs and unions. From-SVN: r1192 --- diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index 7a578130700..4e65e67c186 100644 --- a/gcc/config/sparc/sparc.h +++ b/gcc/config/sparc/sparc.h @@ -383,10 +383,11 @@ extern int leaf_function; #define FINALIZE_PIC finalize_pic () /* Sparc ABI says that quad-precision floats and all structures are returned - in memory. */ + in memory. We go along regarding floats, but for structures + we follow GCC's normal policy. Use -fpcc-struct-value + if you want to follow the ABI. */ #define RETURN_IN_MEMORY(TYPE) \ - (TREE_CODE (TYPE) == RECORD_TYPE || TREE_CODE (TYPE) == UNION_TYPE \ - || TYPE_MODE (TYPE) == TFmode) + (TYPE_MODE (TYPE) == TFmode) /* Functions which return large structures get the address to place the wanted value at offset 64 from the frame.