Commit e34fc615 by Richard Kenner

(RETURN_POPS_ARGS): Test first argument for IDENTIFIER_NODE.

From-SVN: r13278
parent 80e0fb44
...@@ -460,10 +460,10 @@ extern enum reg_class regno_reg_class[]; ...@@ -460,10 +460,10 @@ extern enum reg_class regno_reg_class[];
for the Gmicro. The option name may be changed in the future. */ for the Gmicro. The option name may be changed in the future. */
#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \ #define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \
((TARGET_RTD && TREE_CODE (FUNTYPE) != IDENTIFIER_NODE \ ((TARGET_RTD && TREE_CODE (FUNDECL) != IDENTIFIER_NODE \
&& (TYPE_ARG_TYPES (FUNTYPE) == 0 \ && (TYPE_ARG_TYPES (FUNTYPE) == 0 \
|| (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \ || (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \
= void_type_node))) \ == void_type_node))) \
? (SIZE) : 0) ? (SIZE) : 0)
/* Define how to find the value returned by a function. /* Define how to find the value returned by a function.
......
/* Target definitions for GNU compiler for Intel x86 CPU running NeXTSTEP /* Target definitions for GNU compiler for Intel x86 CPU running NeXTSTEP
Copyright (C) 1993, 1995 Free Software Foundation, Inc. Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -216,7 +216,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -216,7 +216,7 @@ Boston, MA 02111-1307, USA. */
#undef RETURN_POPS_ARGS #undef RETURN_POPS_ARGS
#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \ #define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \
(TREE_CODE (FUNTYPE) == IDENTIFIER_NODE \ (TREE_CODE (FUNDECL) == IDENTIFIER_NODE \
? 0 \ ? 0 \
: (TARGET_RTD \ : (TARGET_RTD \
&& (TYPE_ARG_TYPES (FUNTYPE) == 0 \ && (TYPE_ARG_TYPES (FUNTYPE) == 0 \
......
/* Definitions for Intel 386 running SCO Unix System V. /* Definitions for Intel 386 running SCO Unix System V.
Copyright (C) 1988, 1992, 1994, 1995 Free Software Foundation, Inc. Copyright (C) 1988, 1992, 1994, 1995 Free, 1996 Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -104,7 +104,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -104,7 +104,7 @@ Boston, MA 02111-1307, USA. */
#undef RETURN_POPS_ARGS #undef RETURN_POPS_ARGS
#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \ #define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \
(TREE_CODE (FUNTYPE) == IDENTIFIER_NODE ? 0 \ (TREE_CODE (FUNDECL) == IDENTIFIER_NODE ? 0 \
: (TARGET_RTD \ : (TARGET_RTD \
&& (TYPE_ARG_TYPES (FUNTYPE) == 0 \ && (TYPE_ARG_TYPES (FUNTYPE) == 0 \
|| (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \ || (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \
......
...@@ -674,7 +674,7 @@ dtors_section () \ ...@@ -674,7 +674,7 @@ dtors_section () \
#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \ #define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \
((TARGET_ELF) ? \ ((TARGET_ELF) ? \
(i386_return_pops_args (FUNDECL, FUNTYPE, SIZE)) : \ (i386_return_pops_args (FUNDECL, FUNTYPE, SIZE)) : \
(TREE_CODE (FUNTYPE) == IDENTIFIER_NODE ? 0 \ (TREE_CODE (FUNDECL) == IDENTIFIER_NODE ? 0 \
: (TARGET_RTD \ : (TARGET_RTD \
&& (TYPE_ARG_TYPES (FUNTYPE) == 0 \ && (TYPE_ARG_TYPES (FUNTYPE) == 0 \
|| (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \ || (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \
......
/* Definitions for Intel 386 running SCO Unix System V, /* Definitions for Intel 386 running SCO Unix System V,
using dbx-in-coff encapsulation. using dbx-in-coff encapsulation.
Copyright (C) 1992, 1995 Free Software Foundation, Inc. Copyright (C) 1992, 1995, 1996 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -75,7 +75,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -75,7 +75,7 @@ Boston, MA 02111-1307, USA. */
#undef RETURN_POPS_ARGS #undef RETURN_POPS_ARGS
#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \ #define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \
(TREE_CODE (FUNTYPE) == IDENTIFIER_NODE ? 0 \ (TREE_CODE (FUNDECL) == IDENTIFIER_NODE ? 0 \
: (TARGET_RTD \ : (TARGET_RTD \
&& (TYPE_ARG_TYPES (FUNTYPE) == 0 \ && (TYPE_ARG_TYPES (FUNTYPE) == 0 \
|| (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \ || (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \
......
...@@ -818,7 +818,7 @@ extern enum reg_class regno_reg_class[]; ...@@ -818,7 +818,7 @@ extern enum reg_class regno_reg_class[];
the caller must always pop the args. */ the caller must always pop the args. */
#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \ #define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \
((TARGET_RTD && TREE_CODE (FUNTYPE) != IDENTIFIER_NODE \ ((TARGET_RTD && TREE_CODE (FUNDECL) != IDENTIFIER_NODE \
&& (TYPE_ARG_TYPES (FUNTYPE) == 0 \ && (TYPE_ARG_TYPES (FUNTYPE) == 0 \
|| (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \ || (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \
== void_type_node))) \ == void_type_node))) \
......
...@@ -405,7 +405,7 @@ enum reg_class { NO_REGS, GENERAL_REGS, FLOAT_REGS, GEN_AND_FP_REGS, ...@@ -405,7 +405,7 @@ enum reg_class { NO_REGS, GENERAL_REGS, FLOAT_REGS, GEN_AND_FP_REGS,
the caller must always pop the args. */ the caller must always pop the args. */
#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \ #define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \
((TARGET_RTD && TREE_CODE (FUNTYPE) != IDENTIFIER_NODE \ ((TARGET_RTD && TREE_CODE (FUNDECL) != IDENTIFIER_NODE \
&& (TYPE_ARG_TYPES (FUNTYPE) == 0 \ && (TYPE_ARG_TYPES (FUNTYPE) == 0 \
|| (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \ || (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \
== void_type_node))) \ == void_type_node))) \
......
...@@ -495,7 +495,7 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES }; ...@@ -495,7 +495,7 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
We may nevertheless provide this as an option. */ We may nevertheless provide this as an option. */
#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \ #define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \
((TARGET_RETD && TREE_CODE (FUNTYPE) != IDENTIFIER_NODE \ ((TARGET_RETD && TREE_CODE (FUNDECL) != IDENTIFIER_NODE \
&& (TYPE_ARG_TYPES (FUNTYPE) == 0 \ && (TYPE_ARG_TYPES (FUNTYPE) == 0 \
|| (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \ || (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE))) \
== void_type_node))) \ == void_type_node))) \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment