summaryrefslogtreecommitdiff
path: root/gcc/ada/sinfo.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/sinfo.adb')
-rw-r--r--gcc/ada/sinfo.adb48
1 files changed, 46 insertions, 2 deletions
diff --git a/gcc/ada/sinfo.adb b/gcc/ada/sinfo.adb
index 6cb18c1890c..ba583398e08 100644
--- a/gcc/ada/sinfo.adb
+++ b/gcc/ada/sinfo.adb
@@ -691,6 +691,17 @@ package body Sinfo is
return Node5 (N);
end Corresponding_Spec;
+ function Corresponding_Spec_Of_Stub
+ (N : Node_Id) return Entity_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Package_Body_Stub
+ or else NT (N).Nkind = N_Protected_Body_Stub
+ or else NT (N).Nkind = N_Subprogram_Body_Stub
+ or else NT (N).Nkind = N_Task_Body_Stub);
+ return Node2 (N);
+ end Corresponding_Spec_Of_Stub;
+
function Corresponding_Stub
(N : Node_Id) return Node_Id is
begin
@@ -1093,7 +1104,8 @@ package body Sinfo is
or else NT (N).Nkind in N_Has_Entity
or else NT (N).Nkind = N_Aspect_Specification
or else NT (N).Nkind = N_Attribute_Definition_Clause
- or else NT (N).Nkind = N_Freeze_Entity);
+ or else NT (N).Nkind = N_Freeze_Entity
+ or else NT (N).Nkind = N_Freeze_Generic_Entity);
return Node4 (N);
end Entity;
@@ -1541,6 +1553,16 @@ package body Sinfo is
return Flag13 (N);
end Has_Self_Reference;
+ function Has_SP_Choice
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Case_Expression_Alternative
+ or else NT (N).Nkind = N_Case_Statement_Alternative
+ or else NT (N).Nkind = N_Variant);
+ return Flag15 (N);
+ end Has_SP_Choice;
+
function Has_Storage_Size_Pragma
(N : Node_Id) return Boolean is
begin
@@ -3817,6 +3839,17 @@ package body Sinfo is
Set_Node5 (N, Val); -- semantic field, no parent set
end Set_Corresponding_Spec;
+ procedure Set_Corresponding_Spec_Of_Stub
+ (N : Node_Id; Val : Entity_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Package_Body_Stub
+ or else NT (N).Nkind = N_Protected_Body_Stub
+ or else NT (N).Nkind = N_Subprogram_Body_Stub
+ or else NT (N).Nkind = N_Task_Body_Stub);
+ Set_Node2 (N, Val); -- semantic field, no parent set
+ end Set_Corresponding_Spec_Of_Stub;
+
procedure Set_Corresponding_Stub
(N : Node_Id; Val : Node_Id) is
begin
@@ -4219,7 +4252,8 @@ package body Sinfo is
or else NT (N).Nkind in N_Has_Entity
or else NT (N).Nkind = N_Aspect_Specification
or else NT (N).Nkind = N_Attribute_Definition_Clause
- or else NT (N).Nkind = N_Freeze_Entity);
+ or else NT (N).Nkind = N_Freeze_Entity
+ or else NT (N).Nkind = N_Freeze_Generic_Entity);
Set_Node4 (N, Val); -- semantic field, no parent set
end Set_Entity;
@@ -4658,6 +4692,16 @@ package body Sinfo is
Set_Flag13 (N, Val);
end Set_Has_Self_Reference;
+ procedure Set_Has_SP_Choice
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Case_Expression_Alternative
+ or else NT (N).Nkind = N_Case_Statement_Alternative
+ or else NT (N).Nkind = N_Variant);
+ Set_Flag15 (N, Val);
+ end Set_Has_SP_Choice;
+
procedure Set_Has_Storage_Size_Pragma
(N : Node_Id; Val : Boolean := True) is
begin