Commit b23fa3d4 by Ed Schonberg Committed by Pierre-Marie de Rodat

[Ada] Unnesting: always transform local Raise statements

2018-05-30  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

	* exp_ch11.adb (Replace_Raise_By_Goto): The transfomation is legal even
	if the local raise statement includes a string expression. This
	expression might be picked up by an outer handler or discarded, but
	plays no role in this transformation.

From-SVN: r260949
parent 07fb1ef4
2018-05-30 Ed Schonberg <schonberg@adacore.com>
* exp_ch11.adb (Replace_Raise_By_Goto): The transfomation is legal even
if the local raise statement includes a string expression. This
expression might be picked up by an outer handler or discarded, but
plays no role in this transformation.
2018-05-30 Hristian Kirtchev <kirtchev@adacore.com>
* exp_aggr.adb, exp_unst.adb, freeze.adb, libgnat/a-direct.adb: Minor
......
......@@ -913,13 +913,13 @@ package body Exp_Ch11 is
Cond := Condition (Raise_S);
-- The only other possibility is a node that is or used to be a
-- simple raise statement.
-- simple raise statement. Note that the string expression in
-- the original Raise statement is ignored.
else
Orig := Original_Node (Raise_S);
pragma Assert (Nkind (Orig) = N_Raise_Statement
and then Present (Name (Orig))
and then No (Expression (Orig)));
and then Present (Name (Orig)));
Excep := Entity (Name (Orig));
Cond := Empty;
end if;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment