diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-01 09:25:46 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-01 09:25:46 +0000 |
commit | 0b424e9be6f961c9be3446505fe32d62edcc22a8 (patch) | |
tree | 4ad614e2c8327baf70062e1362be345789d1a42d /gcc/ada/sinfo.adb | |
parent | 69b6b231df3bd6836ed8734b1a52b975aa1eb7c8 (diff) | |
download | gcc-0b424e9be6f961c9be3446505fe32d62edcc22a8.tar.gz |
2011-08-01 Robert Dewar <dewar@adacore.com>
* aspects.ads (Boolean_Aspects): New subtype.
* exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
for derived types in cases where the parent type and derived type have
aspects.
* freeze.adb (Freeze_Entity): Fix problems in handling derived type
with aspects when parent type also has aspects.
(Freeze_Entity): Deal with delay of boolean aspects (must evaluate
boolean expression at this point).
* sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
accordance with final decision on the Ada 2012 feature.
* sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
2011-08-01 Matthew Heaney <heaney@adacore.com>
* a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177005 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sinfo.adb')
-rw-r--r-- | gcc/ada/sinfo.adb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ada/sinfo.adb b/gcc/ada/sinfo.adb index 64d06083292..5729924cceb 100644 --- a/gcc/ada/sinfo.adb +++ b/gcc/ada/sinfo.adb @@ -1696,6 +1696,14 @@ package body Sinfo is return Flag7 (N); end Is_Asynchronous_Call_Block; + function Is_Boolean_Aspect + (N : Node_Id) return Boolean is + begin + pragma Assert (False + or else NT (N).Nkind = N_Aspect_Specification); + return Flag16 (N); + end Is_Boolean_Aspect; + function Is_Component_Left_Opnd (N : Node_Id) return Boolean is begin @@ -4716,6 +4724,14 @@ package body Sinfo is Set_Flag7 (N, Val); end Set_Is_Asynchronous_Call_Block; + procedure Set_Is_Boolean_Aspect + (N : Node_Id; Val : Boolean := True) is + begin + pragma Assert (False + or else NT (N).Nkind = N_Aspect_Specification); + Set_Flag16 (N, Val); + end Set_Is_Boolean_Aspect; + procedure Set_Is_Component_Left_Opnd (N : Node_Id; Val : Boolean := True) is begin |