This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
It was possible for the EH handling code to be looking at the wrong copy of the EH info in some cases involving recursive calls. This fixes it; bootstrapped and tested on Darwin. (This fixed 4 tests on struct-reorg branch, but they weren't breaking on tree-profiling for some reason, probably different choice of what to inline.)
* except.c (get_maybe_saved_eh_throw_stmt_table): Remove. * except.h (get_maybe_saved_eh_throw_stmt_table): Remove. * tree-eh.c (duplicate_stmt_eh_region_mapping): Call get_eh_throw_stmt_table instead of above. * tree-inline.c (struct inline_data): Add callee_cfun. (copy_body_r): Use it. (copy_cfg_body): Set and use it. (clone_body): Set it. (save_body): Set it.
Attachment:
diffs2.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |