diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-08-02 12:31:12 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-08-02 12:31:12 +0200 |
commit | 273adcdf9fbd8521e9f0d39e8a9f22d0c53b482d (patch) | |
tree | c6d75d4be98fa0d41f80672f7a72776b9bf54c64 /gcc/ada/einfo.adb | |
parent | 6320f5e18ed03cb41e65e640566d2a9cf1cd5690 (diff) | |
download | gcc-273adcdf9fbd8521e9f0d39e8a9f22d0c53b482d.tar.gz |
[multiple changes]
2011-08-02 Jerome Guitton <guitton@adacore.com>
* a-except-2005.adb (Raise_From_Signal_Handler): Call
Debug_Raise_Exception before propagation starts.
2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch6.adb (Expand_Call): Guard restriction checks with a call
to Restriction_Check_Required.
* sem_ch3.adb (Analyze_Object_Declaration): Likewise.
* sem_res.adb (Resolve_Call): Likewise.
* sem_attr.adb (Check_Stream_Attribute): Likewise.
2011-08-02 Bob Duff <duff@adacore.com>
* stylesw.ads: Update comment.
* style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
* errout.ads: Remove obsolete comment.
2011-08-02 Javier Miranda <miranda@adacore.com>
* einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
(Set_Is_Safe_To_Reevaluate): new procedure.
* sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
assignment is allowed on safe-to-reevaluate variables.
(Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
temporary created to remove side effects in expressions that use
the secondary stack as safe-to-reevaluate.
* exp_util.adb (Side_Effect_Free): Add missing code to handle well
variables that are not true constants.
From-SVN: r177129
Diffstat (limited to 'gcc/ada/einfo.adb')
-rw-r--r-- | gcc/ada/einfo.adb | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/ada/einfo.adb b/gcc/ada/einfo.adb index c66b35a5764..eb217d49d59 100644 --- a/gcc/ada/einfo.adb +++ b/gcc/ada/einfo.adb @@ -514,9 +514,9 @@ package body Einfo is -- Is_Underlying_Record_View Flag246 -- OK_To_Rename Flag247 -- Has_Inheritable_Invariants Flag248 + -- Is_Safe_To_Reevaluate Flag249 -- Has_Predicates Flag250 - -- (unused) Flag249 -- (unused) Flag251 -- (unused) Flag252 -- (unused) Flag253 @@ -2058,6 +2058,11 @@ package body Einfo is return Flag209 (Id); end Is_Return_Object; + function Is_Safe_To_Reevaluate (Id : E) return B is + begin + return Flag249 (Id); + end Is_Safe_To_Reevaluate; + function Is_Shared_Passive (Id : E) return B is begin return Flag60 (Id); @@ -4542,6 +4547,12 @@ package body Einfo is Set_Flag209 (Id, V); end Set_Is_Return_Object; + procedure Set_Is_Safe_To_Reevaluate (Id : E; V : B := True) is + begin + pragma Assert (Ekind (Id) = E_Variable); + Set_Flag249 (Id, V); + end Set_Is_Safe_To_Reevaluate; + procedure Set_Is_Shared_Passive (Id : E; V : B := True) is begin Set_Flag60 (Id, V); @@ -7501,6 +7512,7 @@ package body Einfo is W ("Is_Remote_Types", Flag61 (Id)); W ("Is_Renaming_Of_Object", Flag112 (Id)); W ("Is_Return_Object", Flag209 (Id)); + W ("Is_Safe_To_Reevaluate", Flag249 (Id)); W ("Is_Shared_Passive", Flag60 (Id)); W ("Is_Statically_Allocated", Flag28 (Id)); W ("Is_Tag", Flag78 (Id)); |