diff options
Diffstat (limited to 'gcc/ada/sinfo.adb')
-rw-r--r-- | gcc/ada/sinfo.adb | 48 |
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 |