From 6854063cad4f60406d41d8f5b4fcd60429293baf Mon Sep 17 00:00:00 2001 From: charlet Date: Wed, 31 Aug 2011 08:59:01 +0000 Subject: 2011-08-31 Javier Miranda * sem_ch4.adb (Try_Object_Operation): When a dispatching primitive is found check if there is a class-wide subprogram covering the primitive. 2011-08-31 Yannick Moy * sem_res.adb: Further cases where full expansion test is needed, rather than expansion test. 2011-08-31 Pascal Obry * prj-attr.adb: Fix Source_File_Switches attribute kind (must be a list) 2011-08-31 Ed Schonberg * exp_ch5.adb: Handle iterators over derived container types. 2011-08-31 Hristian Kirtchev * einfo.ads, einfo.adb: Add new flag Has_Anonymous_Master. (Has_Anonymous_Master): New routine. (Set_Has_Anonymous_Master): New routine. (Write_Entity_Flags): Add an entry for Has_Anonymous_Master. * exp_ch4.adb: Add with and use clause for Sem_Ch8. (Current_Anonymous_Master): New routine. (Current_Unit_First_Declaration): Removed. (Current_Unit_Scope): Removed. (Expand_N_Allocator): Anonymous access-to-controlled types now chain their objects on a per-unit heterogeneous finalization master. 2011-08-31 Matthew Heaney * a-cbhama.adb, a-cbhase.adb (Insert): Check for zero-length buckets array. 2011-08-31 Jose Ruiz * s-taprop-linux.adb (Create_Task): Avoid changing the affinity mask when not needed. 2011-08-31 Gary Dismukes * sem_disp.adb (Propagate_Tag): Return without propagating in the case where the actual is an unexpanded call to 'Input. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178361 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ada/einfo.adb | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'gcc/ada/einfo.adb') diff --git a/gcc/ada/einfo.adb b/gcc/ada/einfo.adb index 03a97b66101..dbe5c261073 100644 --- a/gcc/ada/einfo.adb +++ b/gcc/ada/einfo.adb @@ -521,8 +521,8 @@ package body Einfo is -- Has_Implicit_Dereference Flag251 -- Is_Processed_Transient Flag252 + -- Has_Anonymous_Master Flag253 - -- (unused) Flag253 -- (unused) Flag254 ----------------------- @@ -1183,6 +1183,13 @@ package body Einfo is return Flag201 (Id); end Has_Anon_Block_Suffix; + function Has_Anonymous_Master (Id : E) return B is + begin + pragma Assert + (Ekind_In (Id, E_Function, E_Package, E_Package_Body, E_Procedure)); + return Flag253 (Id); + end Has_Anonymous_Master; + function Has_Atomic_Components (Id : E) return B is begin return Flag86 (Implementation_Base_Type (Id)); @@ -3662,6 +3669,13 @@ package body Einfo is Set_Flag201 (Id, V); end Set_Has_Anon_Block_Suffix; + procedure Set_Has_Anonymous_Master (Id : E; V : B := True) is + begin + pragma Assert + (Ekind_In (Id, E_Function, E_Package, E_Package_Body, E_Procedure)); + Set_Flag253 (Id, V); + end Set_Has_Anonymous_Master; + procedure Set_Has_Atomic_Components (Id : E; V : B := True) is begin pragma Assert (not Is_Type (Id) or else Is_Base_Type (Id)); @@ -7418,6 +7432,7 @@ package body Einfo is W ("Has_Alignment_Clause", Flag46 (Id)); W ("Has_All_Calls_Remote", Flag79 (Id)); W ("Has_Anon_Block_Suffix", Flag201 (Id)); + W ("Has_Anonymous_Master", Flag253 (Id)); W ("Has_Atomic_Components", Flag86 (Id)); W ("Has_Biased_Representation", Flag139 (Id)); W ("Has_Completion", Flag26 (Id)); -- cgit v1.2.1