diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-07-23 08:48:01 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-07-23 08:48:01 +0000 |
commit | 3dbca0d576743f296f19099b4ad13a859c1cfb0f (patch) | |
tree | 3934ad8b42d16450bd0d088b678fbab04e0fc5bf /gcc/ada/sinfo.adb | |
parent | 054247dd94bad885313b902187cb31d406c2ab6a (diff) | |
download | gcc-3dbca0d576743f296f19099b4ad13a859c1cfb0f.tar.gz |
2009-07-23 Gary Dismukes <dismukes@adacore.com>
* sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
with test of coverage, to allow specific type objects in extended
returns of class-wide functions. Remove now-unnecessary special-case
tests that allowed this in certain cases of expanded extended returns.
2009-07-23 Javier Miranda <miranda@adacore.com>
* sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
N_Null_Statements (for SCIL nodes).
(Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
(Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
(Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
nodes).
(Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
* exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
associated with dispatching call.
(Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
(Make_DT, Make_Tags): Add generation of SCIL nodes associated with
initialization of dispatch tables and initialization of tags.
(New_Scil_Node): New function that creates a new SCIL node.
(Build_Init_Procedure): Add generation of SCIL node associated with the
initialization of tags done in the IP subprogram.
2009-07-23 Ed Schonberg <schonberg@adacore.com>
* errout.adb (Error_Msg_NEL): If the entity in the initial message has
Warnings_Off, do not emit continuation messages.
* sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
spec.
2009-07-23 Emmanuel Briot <briot@adacore.com>
* ali.adb: Minor comment update
2009-07-23 Vasiliy Fofanov <fofanov@adacore.com>
* s-win32.ads (HANDLE): Define to be the same size as address type.
Fix copyright.
2009-07-23 Olivier Hainque <hainque@adacore.com>
* g-sse.ads: New file. Root of the SSE facilities trees, with
general description and common declarations.
* g-ssvety.ads: New file. Expose user level SSE vector types.
* impunit.adb (Non_Imp_File_Names_95): Register new units.
* gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
2009-07-23 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Wordsmithing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149974 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sinfo.adb')
-rw-r--r-- | gcc/ada/sinfo.adb | 70 |
1 files changed, 68 insertions, 2 deletions
diff --git a/gcc/ada/sinfo.adb b/gcc/ada/sinfo.adb index 7bd9553798a..56347de3bd5 100644 --- a/gcc/ada/sinfo.adb +++ b/gcc/ada/sinfo.adb @@ -1027,7 +1027,8 @@ package body Sinfo is pragma Assert (False or else NT (N).Nkind in N_Has_Entity or else NT (N).Nkind = N_Freeze_Entity - or else NT (N).Nkind = N_Attribute_Definition_Clause); + or else NT (N).Nkind = N_Attribute_Definition_Clause + or else NT (N).Nkind = N_Null_Statement); return Node4 (N); end Entity; @@ -1703,6 +1704,14 @@ package body Sinfo is return Flag7 (N); end Is_Protected_Subprogram_Body; + function Is_Scil_Node + (N : Node_Id) return Boolean is + begin + pragma Assert (False + or else NT (N).Nkind = N_Null_Statement); + return Flag4 (N); + end Is_Scil_Node; + function Is_Static_Coextension (N : Node_Id) return Boolean is begin @@ -2533,6 +2542,30 @@ package body Sinfo is return Flag18 (N); end Rounded_Result; + function Scil_Nkind + (N : Node_Id) return Uint is + begin + pragma Assert (False + or else NT (N).Nkind = N_Null_Statement); + return Uint3 (N); + end Scil_Nkind; + + function Scil_Related_Node + (N : Node_Id) return Node_Id is + begin + pragma Assert (False + or else NT (N).Nkind = N_Null_Statement); + return Node1 (N); + end Scil_Related_Node; + + function Scil_Target_Prim + (N : Node_Id) return Node_Id is + begin + pragma Assert (False + or else NT (N).Nkind = N_Null_Statement); + return Node2 (N); + end Scil_Target_Prim; + function Scope (N : Node_Id) return Node_Id is begin @@ -3850,7 +3883,8 @@ package body Sinfo is pragma Assert (False or else NT (N).Nkind in N_Has_Entity or else NT (N).Nkind = N_Freeze_Entity - or else NT (N).Nkind = N_Attribute_Definition_Clause); + or else NT (N).Nkind = N_Attribute_Definition_Clause + or else NT (N).Nkind = N_Null_Statement); Set_Node4 (N, Val); -- semantic field, no parent set end Set_Entity; @@ -4517,6 +4551,14 @@ package body Sinfo is Set_Flag7 (N, Val); end Set_Is_Protected_Subprogram_Body; + procedure Set_Is_Scil_Node + (N : Node_Id; Val : Boolean := True) is + begin + pragma Assert (False + or else NT (N).Nkind = N_Null_Statement); + Set_Flag4 (N, Val); + end Set_Is_Scil_Node; + procedure Set_Is_Static_Coextension (N : Node_Id; Val : Boolean := True) is begin @@ -5347,6 +5389,30 @@ package body Sinfo is Set_Flag18 (N, Val); end Set_Rounded_Result; + procedure Set_Scil_Nkind + (N : Node_Id; Val : Uint) is + begin + pragma Assert (False + or else NT (N).Nkind = N_Null_Statement); + Set_Uint3 (N, Val); + end Set_Scil_Nkind; + + procedure Set_Scil_Related_Node + (N : Node_Id; Val : Node_Id) is + begin + pragma Assert (False + or else NT (N).Nkind = N_Null_Statement); + Set_Node1 (N, Val); + end Set_Scil_Related_Node; + + procedure Set_Scil_Target_Prim + (N : Node_Id; Val : Node_Id) is + begin + pragma Assert (False + or else NT (N).Nkind = N_Null_Statement); + Set_Node2 (N, Val); + end Set_Scil_Target_Prim; + procedure Set_Scope (N : Node_Id; Val : Node_Id) is begin |