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] |
This fixes two bugs: 1- The reading and writing of type lists for EH regions was out of sync. 2- When streaming out EH type lists, we were not converting them to the appropriate runtime types nor registering them on input. Bootstrapped and tested on x86_64 and i686. Diego. * lto-function-out.c (output_type_ref): Do not call LTO_DEBUG_TOKEN. (output_type_list): Remove. Update all callers. (get_eh_types_for_runtime): New. (output_eh_region): Call it. (output_expr_operand): Call output_type_ref when EXPR is a type. * lto-function-in.c (input_type_ref): Do not call LTO_DEBUG_TOKEN. (input_eh_region): Call add_type_for_runtime after reading type lists. Call input_expr_operand to read type lists. * except.c (add_type_for_runtime): Declare extern. (lookup_type_for_runtime): Likewise. * lto/lto-lang.c (lto_eh_runtime_type): New. (lto_init_eh): Set lang_eh_runtime_type to lto_eh_runtime_type. testsuite/ChangeLog.lto * g++.dg/lto/20080926.C: New.
Attachment:
20080928-fix-eh-types.diff.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |