Skip to content
Snippets Groups Projects
Commit ebebc928 authored by Alexandre Oliva's avatar Alexandre Oliva Committed by Alexandre Oliva
Browse files

introduce EH_ELSE_EXPR tree and gimplifier

I found GIMPLE_EH_ELSE offered exactly the semantics I needed for some
Ada changes yet to be contributed, but GIMPLE_EH_ELSE was only built
by GIMPLE passes, and I needed to build earlier something that
eventually became GIMPLE_EH_ELSE.

This patch does that, introducing an EH_ELSE_EXPR tree, and logic to
dump it and to gimplify it.


for  gcc/ChangeLog

	* doc/generic.texi (Cleanups): Document EH_ELSE_EXPR.
	* except.c: Likewise.
	* expr.c (expand_expr_real_1): Reject it.
	* gimplify.c (gimplify_expr): Gimplify it, within
	TRY_FINALLY_EXPR.
	* tree-dump.c (dequeue_and_dump): Dump it.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	* tree.c (block_may_fallthru): Handle it.
	* tree.def (EH_ELSE_EXPR): Introduce it.
	* gimple-pretty-print.c (dump_gimple_try): Dump TRY_FINALLY
	with GIMPLE_EH_ELSE as try/finally/else.

From-SVN: r273084
parent e57c896e
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment