Commit e6d5d940 by Gary Dismukes Committed by Arnaud Charlet

exp_disp.adb (Expand_Dispatching_Call): Call Unqualify on Param when comparing it with Ctrl_Arg...

2014-01-24  Gary Dismukes  <dismukes@adacore.com>

	* exp_disp.adb (Expand_Dispatching_Call): Call Unqualify on Param when
	comparing it with Ctrl_Arg, since Ctrl_Arg may have had qualification
	stripped off.

From-SVN: r207043
parent ab986406
2014-01-24 Gary Dismukes <dismukes@adacore.com>
* exp_disp.adb (Expand_Dispatching_Call): Call Unqualify on Param when
comparing it with Ctrl_Arg, since Ctrl_Arg may have had qualification
stripped off.
2014-01-24 Robert Dewar <dewar@adacore.com> 2014-01-24 Robert Dewar <dewar@adacore.com>
* sinfo.ads, make.adb, prj-env.adb: Minor reformatting. * sinfo.ads, make.adb, prj-env.adb: Minor reformatting.
......
...@@ -777,11 +777,12 @@ package body Exp_Disp is ...@@ -777,11 +777,12 @@ package body Exp_Disp is
Param := First_Actual (Call_Node); Param := First_Actual (Call_Node);
while Present (Param) loop while Present (Param) loop
-- Cases in which we may have generated runtime checks
if Param = Ctrl_Arg -- Cases in which we may have generated run-time checks. Note that
or else Subp = Eq_Prim_Op -- we strip any qualification from Param before comparing with the
then -- already-stripped controlling argument.
if Unqualify (Param) = Ctrl_Arg or else Subp = Eq_Prim_Op then
Append_To (New_Params, Append_To (New_Params,
Duplicate_Subexpr_Move_Checks (Param)); Duplicate_Subexpr_Move_Checks (Param));
......
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