Cleanup only; semantics unaffected. Tested on x86_64-pc-linux-gnu, committed on trunk
2017-09-25 Piotr Trojanek <troja...@adacore.com> * sem_util.adb (Has_Null_Abstract_State): Remove, as an exactly same routine is already provided by Einfo. * einfo.adb (Has_Null_Abstract_State): Replace with the body from Sem_Util, which had better comments and avoided double calls to Abstract_State.
Index: einfo.adb =================================================================== --- einfo.adb (revision 253134) +++ einfo.adb (working copy) @@ -7707,12 +7707,17 @@ ----------------------------- function Has_Null_Abstract_State (Id : E) return B is - begin pragma Assert (Ekind_In (Id, E_Generic_Package, E_Package)); + States : constant Elist_Id := Abstract_States (Id); + + begin + -- Check first available state of related package. A null abstract + -- state always appears as the sole element of the state list. + return - Present (Abstract_States (Id)) - and then Is_Null_State (Node (First_Elmt (Abstract_States (Id)))); + Present (States) + and then Is_Null_State (Node (First_Elmt (States))); end Has_Null_Abstract_State; --------------------------------- Index: sem_util.adb =================================================================== --- sem_util.adb (revision 253134) +++ sem_util.adb (working copy) @@ -3138,34 +3138,10 @@ --------------------------- procedure Check_No_Hidden_State (Id : Entity_Id) is - function Has_Null_Abstract_State (Pkg : Entity_Id) return Boolean; - -- Determine whether the entity of a package denoted by Pkg has a null - -- abstract state. - - ----------------------------- - -- Has_Null_Abstract_State -- - ----------------------------- - - function Has_Null_Abstract_State (Pkg : Entity_Id) return Boolean is - States : constant Elist_Id := Abstract_States (Pkg); - - begin - -- Check first available state of related package. A null abstract - -- state always appears as the sole element of the state list. - - return - Present (States) - and then Is_Null_State (Node (First_Elmt (States))); - end Has_Null_Abstract_State; - - -- Local variables - Context : Entity_Id := Empty; Not_Visible : Boolean := False; Scop : Entity_Id; - -- Start of processing for Check_No_Hidden_State - begin pragma Assert (Ekind_In (Id, E_Abstract_State, E_Variable));