exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Declare NEW_EXPR local variable...
authorEric Botcazou <ebotcazou@adacore.com>
Sun, 20 Nov 2011 11:41:57 +0000 (11:41 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Sun, 20 Nov 2011 11:41:57 +0000 (12:41 +0100)
commit74cab21a4ba7605ea5ebf1910eba4db2852cd75a
tree5f5d1a77edd05aad05f51a5a22f62a33e92189e0
parent088b91c76fe3051e27fc07243e51dd79b4c7547a
exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Declare NEW_EXPR local variable and attach the temporary to it.

2011-11-20  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment):
Declare NEW_EXPR local variable and attach the
temporary to it.  Set Is_Known_Non_Null on the temporary.
(Make_Build_In_Place_Call_In_Object_Declaration): Likewise.
* exp_util.adb (Remove_Side_Effects): Set Is_Known_Non_Null on
the temporary created to hold the 'Reference of the expression,
if any.
* checks.adb (Install_Null_Excluding_Check): Bail out for the
Get_Current_Excep.all.all idiom generated by the expander.

From-SVN: r181529
gcc/ada/ChangeLog
gcc/ada/checks.adb
gcc/ada/exp_ch6.adb
gcc/ada/exp_util.adb