From 840e7b5148eb5894ee29e8d6267b56903412eeac Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 9 May 2000 19:53:43 -0700 Subject: [PATCH] calls.c (expand_call): Increment currently_expanding_call before calling optimize_tail_recursion. * calls.c (expand_call): Increment currently_expanding_call before calling optimize_tail_recursion. From-SVN: r33813 --- gcc/ChangeLog | 5 +++++ gcc/calls.c | 6 ++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4ff9a7295799..e91f0b2ed7e8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-05-09 Richard Henderson + + * calls.c (expand_call): Increment currently_expanding_call + before calling optimize_tail_recursion. + Tue May 9 18:54:16 2000 Richard Kenner * reload1.c (reload_combine): Fix errors in last change. diff --git a/gcc/calls.c b/gcc/calls.c index 3dd688f9ae0a..0c1693afa62a 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -2305,9 +2305,9 @@ expand_call (exp, target, ignore) This is most often true of sjlj-exceptions, which we couldn't tail-call to anyway. */ - if (!flag_optimize_sibling_calls + if (currently_expanding_call++ != 0 + || !flag_optimize_sibling_calls || !rtx_equal_function_value_matters - || currently_expanding_call || !stmt_loop_nest_empty () || any_pending_cleanups (1) || args_size.var) @@ -2448,8 +2448,6 @@ expand_call (exp, target, ignore) stack_pointer_delta = save_stack_pointer_delta; } - currently_expanding_call++; - if (profile_arc_flag && (flags & ECF_FORK_OR_EXEC)) { /* A fork duplicates the profile information, and an exec discards -- 2.43.5