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]

[Ada] Expansion of case expressions


A case expression is rewritten as an Expression_With_Actions, whose main
component is a case statement that mirrors the structure of the case expression.
The actions created for the expression in a given case alterantive must be
attached to the statement list of the ccrresponding case statement alternative
They cannot be propagated ahead of the case statement, because the validity of
the expression that generated the action may hold only for that alternative.
No short example available.

Tested on x86_64-pc-linux-gnu, committed on trunk

2011-09-06  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_N_Case_Expression): Actions created for the
	expression in a given case alternative must be attached to the
	statement list of the ccrresponding case statement alternative
	They cannot be propagated ahead of the case statement, because
	the validity of the expression that generated the action may
	hold only for that alternative.

Attachment: difs
Description: Text document


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