aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 5d70ddd..29d4c1e 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -1147,7 +1147,8 @@ static int cfa_offset;
#define STACK_DYNAMIC_OFFSET(FNDECL) \
((ACCUMULATE_OUTGOING_ARGS \
? (crtl->outgoing_args_size \
- + (OUTGOING_REG_PARM_STACK_SPACE ? 0 : REG_PARM_STACK_SPACE (FNDECL))) \
+ + (OUTGOING_REG_PARM_STACK_SPACE ((!(FNDECL) ? NULL_TREE : TREE_TYPE (FNDECL))) ? 0 \
+ : REG_PARM_STACK_SPACE (FNDECL))) \
: 0) + (STACK_POINTER_OFFSET))
#else
#define STACK_DYNAMIC_OFFSET(FNDECL) \
@@ -3850,7 +3851,7 @@ allocate_struct_function (tree fndecl, bool abstract_p)
if (init_machine_status)
cfun->machine = (*init_machine_status) ();
- if (fndecl != NULL)
+ if (fndecl != NULL_TREE)
{
DECL_STRUCT_FUNCTION (fndecl) = cfun;
cfun->decl = fndecl;