diff options
| author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-05-10 02:53:43 +0000 |
|---|---|---|
| committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-05-10 02:53:43 +0000 |
| commit | 3b2168bc05d2f19ebfb48bf61c819fbbe41db188 (patch) | |
| tree | 602d20853be1672bef4dc7382191c3fdfa73cbc0 | |
| parent | 7d6f4f46c06a03754ab51001c07ec18f63d29678 (diff) | |
| download | ppe42-gcc-3b2168bc05d2f19ebfb48bf61c819fbbe41db188.tar.gz ppe42-gcc-3b2168bc05d2f19ebfb48bf61c819fbbe41db188.zip | |
* calls.c (expand_call): Increment currently_expanding_call
before calling optimize_tail_recursion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33813 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/calls.c | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4ff9a729579..e91f0b2ed7e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-05-09 Richard Henderson <rth@cygnus.com> + + * calls.c (expand_call): Increment currently_expanding_call + before calling optimize_tail_recursion. + Tue May 9 18:54:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * reload1.c (reload_combine): Fix errors in last change. diff --git a/gcc/calls.c b/gcc/calls.c index 3dd688f9ae0..0c1693afa62 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 |

