diff options
author | Brendan Kehoe <brendan@gcc.gnu.org> | 1996-12-11 19:30:15 -0500 |
---|---|---|
committer | Brendan Kehoe <brendan@gcc.gnu.org> | 1996-12-11 19:30:15 -0500 |
commit | 89418a92574448338464cb3503942a29a10e3eb8 (patch) | |
tree | bf4891714e3c1fe5897e68333ffd2765ff6128d6 /gcc | |
parent | 664041e68bccafd2a1983f8416b43f95843ec4d3 (diff) | |
download | gcc-89418a92574448338464cb3503942a29a10e3eb8.zip gcc-89418a92574448338464cb3503942a29a10e3eb8.tar.gz gcc-89418a92574448338464cb3503942a29a10e3eb8.tar.bz2 |
toplev.c (rest_of_compilation): Make sure that the unwinder RTL is saved.
* toplev.c (rest_of_compilation): Make sure that the unwinder RTL
is saved.
From-SVN: r13289
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/toplev.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c index a10f4d9..a0cfb4d 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -2954,12 +2954,9 @@ rest_of_compilation (decl) goto exit_rest_of_compilation; } - /* From now on, allocate rtl in current_obstack, not in saveable_obstack. - Note that that may have been done above, in save_for_inline_copying. - The call to resume_temporary_allocation near the end of this function - goes back to the usual state of affairs. */ - - rtl_in_current_obstack (); + /* Add an unwinder for exception handling, if needed. + This must be done before we finalize PIC code. */ + emit_unwinder (); #ifdef FINALIZE_PIC /* If we are doing position-independent code generation, now @@ -2970,8 +2967,14 @@ rest_of_compilation (decl) FINALIZE_PIC; #endif - /* Add an unwinder for exception handling, if needed. */ - emit_unwinder (); + /* From now on, allocate rtl in current_obstack, not in saveable_obstack. + Note that that may have been done above, in save_for_inline_copying. + The call to resume_temporary_allocation near the end of this function + goes back to the usual state of affairs. This must be done after + we've built up any unwinders for exception handling, and done + the FINALIZE_PIC work, if necessary. */ + + rtl_in_current_obstack (); insns = get_insns (); |