Introduce gimple_try
commit75e7f97a8237a8c523a20978350189ee6db5f8a6
authorDavid Malcolm <dmalcolm@redhat.com>
Mon, 16 Dec 2013 19:48:41 +0000 (16 14:48 -0500)
committerDavid Malcolm <dmalcolm@redhat.com>
Fri, 24 Oct 2014 21:24:17 +0000 (24 17:24 -0400)
tree71df47676ed3f859e09ded636aa59113c769bf73
parent81adc8db61dcebe5bc17f26e5b28749e9d4b018b
Introduce gimple_try

This corresponds to:
  [PATCH 32/89] Introduce gimple_try
  https://gcc.gnu.org/ml/gcc-patches/2014-04/msg01214.html
from the original 89-patch kit

That earlier patch was approved by Jeff:
> OK once const and associated renaming stuff is fixed.
in https://gcc.gnu.org/ml/gcc-patches/2014-05/msg00636.html

gcc/
* coretypes.h (gimple_try): New typedef.
(const_gimple_try): New typedef.

* gimple-low.c (gimple_try_catch_may_fallthru): Require a
gimple_try rather than a plain gimple.
(gimple_stmt_may_fallthru): Add checked cast to gimple_try.

* gimple-pretty-print.c (dump_gimple_try): Require a gimple_try
rather than a plain gimple.
(pp_gimple_stmt_1): Add checked cast to gimple_try within
GIMPLE_TRY case of switch statement.

* tree-eh.c (finally_tree_node::parent): Strengthen field from
gimple to gimple_try.
(record_in_finally_tree): Require a gimple_try rather than a plain
gimple.
(collect_finally_tree): Likewise.
(collect_finally_tree_1): Likewise.
(struct leh_tf_state::try_finally_expr): Strengthen field from
gimple to gimple_try.
(struct leh_tf_state::top_p): Likewise.
(lower_eh_must_not_throw): Require a gimple_try rather than a
plain gimple.
(frob_into_branch_around): Likewise.
(lower_try_finally_dup_block): Strengthen local from gimple to
gimple_try.
(honor_protect_cleanup_actions): Split out uses of "x" into new
locals "eh_mnt" and "try_stmt" with stronger types.
(lower_try_finally): Require a gimple_try rather than a plain
gimple.
(lower_catch): Likewise.
(lower_eh_filter): Likewise.
(lower_eh_must_not_throw): Likewise.
(lower_cleanup): Likewise.
(lower_eh_constructs_2): Add checked cast to gimple_try within
GIMPLE_TRY case of switch statement, introducing new local
"try_stmt", using it for type-safety.
gcc/ChangeLog.gimple-classes
gcc/coretypes.h
gcc/gimple-low.c
gcc/gimple-pretty-print.c
gcc/tree-eh.c