Commit 2033a41a by Richard Kenner

(RETURN_POPS_ARGS): Make sure FUDECL is non-nil before we try to use it.

From-SVN: r13729
parent a6096a27
/* Definitions of target machine for GNU compiler. Gmicro (TRON) version. /* Definitions of target machine for GNU compiler. Gmicro (TRON) version.
Copyright (C) 1987, 1988, 1989, 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1987, 88, 89, 95, 96, 1997 Free Software Foundation, Inc.
Contributed by Masanobu Yuhara, Fujitsu Laboratories LTD. Contributed by Masanobu Yuhara, Fujitsu Laboratories LTD.
(yuhara@flab.fujitsu.co.jp) (yuhara@flab.fujitsu.co.jp)
...@@ -460,7 +460,7 @@ extern enum reg_class regno_reg_class[]; ...@@ -460,7 +460,7 @@ 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 (FUNDECL) != IDENTIFIER_NODE \ ((TARGET_RTD && (!(FUNDECL) || 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))) \
......
...@@ -824,7 +824,7 @@ extern enum reg_class regno_reg_class[]; ...@@ -824,7 +824,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 (FUNDECL) != IDENTIFIER_NODE \ ((TARGET_RTD && (!(FUNDECL) || 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))) \
......
/* Definitions of target machine for GNU compiler. NS32000 version. /* Definitions of target machine for GNU compiler. NS32000 version.
Copyright (C) 1988, 1993, 1994, 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1988, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com) Contributed by Michael Tiemann (tiemann@cygnus.com)
This file is part of GNU CC. This file is part of GNU CC.
...@@ -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 (FUNDECL) != IDENTIFIER_NODE \ ((TARGET_RTD && (!(FUNDECL) || 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))) \
......
/* Definitions of target machine parameters for GNU compiler, /* Definitions of target machine parameters for GNU compiler,
for Pyramid 90x, 9000, and MIServer Series. for Pyramid 90x, 9000, and MIServer Series.
Copyright (C) 1989, 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1989, 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -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 (FUNDECL) != IDENTIFIER_NODE \ ((TARGET_RETD && (!(FUNDECL) || 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