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]

Re: [PATCH] compiling gcc with a C++ compiler 4/n


> Don't send out patches until they are fully tested, it just wastes
> time on both your part and the reviewer's part.
ok, I will do that. As finished now (on i686), I will give the ChangeLog
entry another try below.

> Oh and double checking you have your copyright assignment in place right?
hm, I do not know how to "double check". I looked at my copy of the
papers signed by me and the FSF (Peter Brown) again, if that is what you
mean. Only someone with a gnu.org account can double check my
assignment, I think.

Here is a new attempt of a change log entry, still for my original patch
(i.e. renaming struct eh_region etc.).

Thomas

* tree-eh.c (record_stmt_eh_region): Use the eh_region typedef instead
of the internal struct.
(struct leh_state): Likewise.
(struct goto_queue_node): Move out of...
(struct leh_tf_state). ... here to avoid struct scope. Use the eh_region
typedef instead of the internal struct.
(replace_goto_queue_cond_clause): Avoid using C++ keywords as variable
names.
(do_return_redirection): Likewise.
(lower_catch): Use the eh_region typedef instead of the internal struct.
Avoid using C++ keywords as variable names.
(lower_eh_filter): Use the eh_region typedef instead of the internal struct.
(lower_eh_cleanup): Likewise.
(make_eh_edge): Likewise.
(mark_eh_edge): Likewise.
* except.c (struct ehl_map_entry): Renamed struct eh_region into struct
eh_region_def.
(enum eh_region_type): Moved out of...
(struct eh_region_def): ... here to avoid struct scope. Renamed struct
eh_region into struct eh_region_def to avoid name collisions in C++.
Renamed struct memembers to avoid C++ keywords.
(after struct eh_region_def): Added an additional typedef for eh_region
for gengtype that did not got the forward in except.h.
(struct call_site_record): Use the eh_region typedef instead of the
internal struct.
(add_ehl_entry): Likewise.
(remove_eh_handler): Likewise.
(reachable_next_level): Likewise.
(collect_one_action_chain): Likewise.
(init_eh_for_function): Use type safe memory macros.
(gen_eh_region). Likewise. Use the eh_region typedef instead of the
internal struct. Avoid using C++ keywords as variable names.
(gen_eh_region_cleanup): Use the eh_region typedef instead of the
internal struct.
(gen_eh_region_try): Likewise.
(gen_eh_region_catch): Likewise. Use renamed members to avoid C++ keywords.
(gen_eh_region_allowed): Use the eh_region typedef instead of the
internal struct.
(gen_eh_region_must_not_thow): Likewise.
(gen_eh_region_number): Likewise.
(gen_eh_region_may_contain_throw): Likewise.
(gen_eh_region_tree_label): Likewise.
(set_eh_region_tree_label): Likewise.
(expand_resc_expr): Likewise.
(note_eh_region_may_contain_throw): Likewise.
(collect_eh_region_array): Likewise.
(remove_unreachable_regions): Likewise. Use type safe memory macros. USe
renamed members to avoid C++ keywords.
(convert_from_eh_region_ranges): Use the eh_region typedef instead of
the internal struct.
(add_ehl_entry): Likewise. Use type safe memory macros.
(find_exception_handler_labels): Use the eh_region typedef instead of
the internal struct.
(current_function_has_exception_handlers): Likewise.
(duplicate_eh_regions_1): Use type safe memory macros. Use renamed
members to avoid C++ keywords.
(eh_region_outer_p): Use type safe memory macros.
(eh_region_outermost): Use the eh_region typedef instead of the internal
struct.
(assign_filtr_values): Likewise. Use renamed members to avoid C++ keywords.
(build_post_landing_pads): Likewise.
(connect_post_landing_pads): Use the eh_region typedef instead of the
internal struct.
(dw_build_landing_pads): Likewise.
(sjlj_find_directly_reachable_regions): Likewise. Use renamed members to
avoid C++ keywords.
(sjlj_assign_call_site_values): Use the eh_region typedef instead of the
internal struct.
(sjlj_mark_call_sites): Likewise.
(sjlj_emit_dispatch_table): Likewise.
(remove_eh_handler): Likewise. Use renamed members to avoid C++ keywords.
(maybe_remove_eh_handler): Use the eh_region typedef instead of the
internal struct.
(for_each_eh_region): Likewise.
(struct reachable_info): Likewise.
(add_reachable_handler): Likewise.
(reachable_next_level): Likewise. Use renamed members to avoid C++ keywords.
(foreach_reachable_handler): Use the eh_region typedef instead of the
internal struct.
(arh_to_landing_pad): Likewise. Cast according to the coding conventions.
(arh_to_label): Likewise.
(can_throw_internal_1): Use the eh_region typedef instead of the
internal struct. Use renamed members to avoid C++ keywords.
(can_throw_external_1): Likewise.
(add_actioNrecord): Avoid using C++ keywords as variable names. Use
typesafe memory macros.
(collect_one_action_chain): Use the eh_region typedef instead of the
internal struct. Use renamed members to avoid C++ keywords.
(add_call_site): Use typesafe memory macros.
(convert_to_eh_region_ranges): Use the eh_region typedef instead of the
internal struct.
(switch_to_exception_section): Use typesafe memory macros.
(output_ttype): Avoid using C++ keywords as variable names.
(get_eh_throw_stmt_table): Use the eh_region typedef instead of the
internal struct.
(dump_eh_tree): Likewise.
(verify_eh_tree): Likewise.
* except.h (struct eh_region): Renamed to eh_region_def, to avoid a
collision with...
(typedef eh_region): ... the eh_region typedef. Moved here from except.c
to consistently use the typedef as opaque data type.
(note_eh_region_may_contain_throw): Use the eh_region typedef instead of
the internal struct.
(for_each_eh_region): Likewise.
(gen_eh_region_cleanup): Likewise.
(gen_eh_region_try): Likewise.
(gen_eh_region_catch): Likewise.
(gen_eh_region_allowed): Likewise.
(gen_eh_region_must_not_throw): Likewise.
(get_eh_region_number): Likewise.
(get_eh_region_may_contain_throw): Likewise.
(get_eh_region_tree_label): Likewise.
(set_eh_region_tree_label): Likewise.
(foreach_reachable_handler): Likewise.
* tree-cfg.c (update_eh_label): Use the eh_region typedef instead of the
internal struct. Cast according to the coding conventions.
(bsi_insert_after): Cast according to the coding conventions.
(move_stmt_r): Cast according to the coding convertions.
(new_label_mapper): Use typesafe memory macros.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]