summaryrefslogtreecommitdiff
path: root/gcc/ada/sinfo.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-07-23 08:48:01 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-07-23 08:48:01 +0000
commit3dbca0d576743f296f19099b4ad13a859c1cfb0f (patch)
tree3934ad8b42d16450bd0d088b678fbab04e0fc5bf /gcc/ada/sinfo.adb
parent054247dd94bad885313b902187cb31d406c2ab6a (diff)
downloadgcc-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.adb70
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