--- gcc/config/pyr/pyr.h 2018/04/24 18:22:34 1.1.1.3 +++ gcc/config/pyr/pyr.h 2018/04/24 18:30:16 1.1.1.4 @@ -1,6 +1,6 @@ /* Definitions of target machine parameters for GNU compiler, for Pyramid 90x, 9000, and MIServer Series. - Copyright (C) 1989 Free Software Foundation, Inc. + Copyright (C) 1989, 1995 Free Software Foundation, Inc. This file is part of GNU CC. @@ -16,8 +16,9 @@ GNU General Public License for more deta You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - +the Free Software Foundation, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + /* * If you're going to change this, and you haven't already, * you should get and read @@ -484,6 +485,7 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_ /* Value is the number of bytes of arguments automatically popped when returning from a subroutine call. + FUNDECL is the declaration node of the function (as a tree), FUNTYPE is the data type of the function (as a tree), or for a library call it is an identifier node for the subroutine name. SIZE is the number of bytes of arguments passed on the stack. @@ -492,7 +494,7 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_ using RETD in this way violates the Pyramid calling convention. We may nevertheless provide this as an option. */ -#define RETURN_POPS_ARGS(FUNTYPE,SIZE) \ +#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \ ((TARGET_RETD && TREE_CODE (FUNTYPE) != IDENTIFIER_NODE \ && (TYPE_ARG_TYPES (FUNTYPE) == 0 \ || (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \ @@ -1316,7 +1318,7 @@ extern int swap_operands; #define PRINT_OPERAND(FILE, X, CODE) \ { if (GET_CODE (X) == REG) \ - fprintf (FILE, "%s", reg_names [REGNO (X)]); \ + fprintf (FILE, "%s", reg_names [REGNO (X) + ((CODE) == 'R')]); \ \ else if (GET_CODE (X) == MEM) \ output_address (XEXP (X, 0)); \