From: Eric Botcazou <ebotca...@adacore.com> It has been unused for a very long time.
gcc/ada/ChangeLog: * einfo.ads (Size_Check_Code): Delete. * gen_il-fields.ads (Opt_Field_Enum): Remove Size_Check_Code. * gen_il-gen-gen_entities.adb (Constant_Or_Variable_Kind): Likewise. * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Remove call to Kill_Size_Check_Code. * sem_prag.adb (Analyze_Pragma): Likewise. * sem_util.ads (Kill_Size_Check_Code): Delete. * sem_util.adb (Kill_Size_Check_Code): Likewise. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/einfo.ads | 7 ------- gcc/ada/gen_il-fields.ads | 1 - gcc/ada/gen_il-gen-gen_entities.adb | 1 - gcc/ada/sem_ch13.adb | 5 ----- gcc/ada/sem_prag.adb | 3 --- gcc/ada/sem_util.adb | 14 -------------- gcc/ada/sem_util.ads | 6 ------ 7 files changed, 37 deletions(-) diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads index 1fce2f98b8f..7a7765d1272 100644 --- a/gcc/ada/einfo.ads +++ b/gcc/ada/einfo.ads @@ -4388,11 +4388,6 @@ package Einfo is -- set, in which case this is the entity for the associated instance of -- System.Shared_Storage.Shared_Var_Procs. See Exp_Smem for full details. --- Size_Check_Code --- Defined in constants and variables. Normally Empty. Set if code is --- generated to check the size of the object. This field is used to --- suppress this code if a subsequent address clause is encountered. - -- Size_Clause (synthesized) -- Applies to all entities. If a size or value size clause is present in -- the rep item chain for an entity then that attribute definition clause @@ -5316,7 +5311,6 @@ package Einfo is -- Actual_Subtype -- Renamed_Object -- Renamed_Entity $$$ - -- Size_Check_Code (constants only) -- Prival_Link (privals only) -- Interface_Name (constants only) -- Related_Type (constants only) @@ -6202,7 +6196,6 @@ package Einfo is -- Renamed_Object -- Renamed_Entity $$$ -- Discriminal_Link $$$ - -- Size_Check_Code -- Prival_Link -- Interface_Name -- Shared_Var_Procs_Instance diff --git a/gcc/ada/gen_il-fields.ads b/gcc/ada/gen_il-fields.ads index fe6d3387cfa..f957f7f6432 100644 --- a/gcc/ada/gen_il-fields.ads +++ b/gcc/ada/gen_il-fields.ads @@ -893,7 +893,6 @@ package Gen_IL.Fields is Scope_Depth_Value, Sec_Stack_Needed_For_Return, Shared_Var_Procs_Instance, - Size_Check_Code, Size_Depends_On_Discriminant, Size_Known_At_Compile_Time, Small_Value, diff --git a/gcc/ada/gen_il-gen-gen_entities.adb b/gcc/ada/gen_il-gen-gen_entities.adb index 530af908530..85ab62a0af7 100644 --- a/gcc/ada/gen_il-gen-gen_entities.adb +++ b/gcc/ada/gen_il-gen-gen_entities.adb @@ -357,7 +357,6 @@ begin -- Gen_IL.Gen.Gen_Entities Sm (Prival_Link, Node_Id), Sm (Related_Type, Node_Id), Sm (Return_Statement, Node_Id), - Sm (Size_Check_Code, Node_Id), Sm (SPARK_Pragma, Node_Id), Sm (SPARK_Pragma_Inherited, Flag))); diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb index 69e18b049b9..de5716e6fd0 100644 --- a/gcc/ada/sem_ch13.adb +++ b/gcc/ada/sem_ch13.adb @@ -6278,11 +6278,6 @@ package body Sem_Ch13 is then Set_Check_Address_Alignment (N); end if; - - -- Kill the size check code, since we are not allocating - -- the variable, it is somewhere else. - - Kill_Size_Check_Code (U_Ent); end; -- Not a valid entity for an address clause diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index fafd27454d9..b37a9ad06a5 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -10029,7 +10029,6 @@ package body Sem_Prag is end if; Def_Id := Entity (Def_Id); - Kill_Size_Check_Code (Def_Id); if Ekind (Def_Id) /= E_Constant then Note_Possible_Modification (Get_Pragma_Arg (Arg1), Sure => False); @@ -10042,7 +10041,6 @@ package body Sem_Prag is -- purposes of legality checks and removal of ignored Ghost code. Mark_Ghost_Pragma (N, Def_Id); - Kill_Size_Check_Code (Def_Id); if Ekind (Def_Id) /= E_Constant then Note_Possible_Modification (Get_Pragma_Arg (Arg2), Sure => False); @@ -19946,7 +19944,6 @@ package body Sem_Prag is -- object to be imported. if Ekind (Def_Id) = E_Variable then - Kill_Size_Check_Code (Def_Id); Note_Possible_Modification (Id, Sure => False); -- Initialization is not allowed for imported variable diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 97dc4c0af8b..1196e09f207 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -21959,20 +21959,6 @@ package body Sem_Util is end loop Scope_Loop; end Kill_Current_Values; - -------------------------- - -- Kill_Size_Check_Code -- - -------------------------- - - procedure Kill_Size_Check_Code (E : Entity_Id) is - begin - if (Ekind (E) = E_Constant or else Ekind (E) = E_Variable) - and then Present (Size_Check_Code (E)) - then - Remove (Size_Check_Code (E)); - Set_Size_Check_Code (E, Empty); - end if; - end Kill_Size_Check_Code; - -------------------- -- Known_Non_Null -- -------------------- diff --git a/gcc/ada/sem_util.ads b/gcc/ada/sem_util.ads index 167b0966dad..c88724f8626 100644 --- a/gcc/ada/sem_util.ads +++ b/gcc/ada/sem_util.ads @@ -2540,12 +2540,6 @@ package Sem_Util is -- if the entity Ent is not for an object. Last_Assignment_Only has the -- same meaning as for the call with no Ent. - procedure Kill_Size_Check_Code (E : Entity_Id); - -- Called when an address clause or pragma Import is applied to an entity. - -- If the entity is a variable or a constant, and size check code is - -- present, this size check code is killed, since the object will not be - -- allocated by the program. - function Known_Non_Null (N : Node_Id) return Boolean; -- Given a node N for a subexpression of an access type, determines if -- this subexpression yields a value that is known at compile time to -- 2.43.0