From 4969efdf7d92bc0a018a664fccc6d715e9de0d9f Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Tue, 14 Jun 2016 14:23:34 +0200 Subject: [multiple changes] 2016-06-14 Tristan Gingold * einfo.adb, einfo.ads (Has_Timing_Event, Set_Has_Timing_Event): Add Has_Timing_Event flag. (Write_Entity_Flags): Display * sem_util.ads, sem_util.adb: (Propagate_Type_Has_Flags): New procedure to factorize code. * exp_ch3.adb (Expand_Freeze_Array_Type, Expand_Freeze_Record_Type): Call Propagate_Type_Has_Flags. * sem_ch3.adb (Access_Type_Decalaration): Initialize Has_Timing_Event flag. (Analyze_Object_Declaration): Move code that check No_Local_Timing_Events near the code that check No_Local_Protected_Objects. (Analyze_Private_Extension_Declaration, Array_Type_Declaration) (Build_Derived_Type, Copy_Array_Base_Type_Attributes, Process_Full_View) (Record_Type_Definition): Call Propagate_Type_Has_Flags. * sem_ch4.adb (Analyze_Allocator): Check No_Local_Timing_Events. * sem_ch7.adb (New_Private_Type): Set Has_Timing_Event on the Timing_Event type. (Uninstall_Declaration): Call Propagate_Type_Has_Flags. * sem_ch9.adb (Analyze_Protected_Definition): Call Propagate_Type_Has_Flags. 2016-06-14 Arnaud Charlet * sem.ads: Minor style fix. From-SVN: r237434 --- gcc/ada/sem_util.ads | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'gcc/ada/sem_util.ads') diff --git a/gcc/ada/sem_util.ads b/gcc/ada/sem_util.ads index c7fdc81..d0e3d4e 100644 --- a/gcc/ada/sem_util.ads +++ b/gcc/ada/sem_util.ads @@ -2003,6 +2003,15 @@ package Sem_Util is -- parameter Ent gives the entity to which the End_Label refers, -- and to which cross-references are to be generated. + procedure Propagate_Type_Has_Flags + (Typ : Entity_Id; + Comp_Typ : Entity_Id); + -- Set Has_Task, Has_Protected and Has_Timing_Event on Typ when the flags + -- are set on Comp_Typ. This follows the definition of these flags which + -- are set (recursively) on any composite type which has a component marked + -- by one of these flags. This procedure can only set flags for Typ, and + -- never clear them. Comp_Typ is the type of a component or a parent. + procedure Record_Possible_Part_Of_Reference (Var_Id : Entity_Id; Ref : Node_Id); -- cgit v1.1