From d306cbee92c9e9dc2bb4f4d013b713f2588a23e0 Mon Sep 17 00:00:00 2001 From: charlet Date: Fri, 4 Nov 2011 12:04:55 +0000 Subject: 2011-11-04 Robert Dewar * exp_ch2.adb (Expand_Entity_Reference): Do not set Atomic_Sync_Required for the case of a prefix of an attribute. * exp_ch4.adb (Expand_N_Explicit_Dereference): May require atomic synchronization (Expand_N_Indexed_Component): Ditto. (Expand_B_Selected_Component): Ditto. * sem_prag.adb (Process_Suppress_Unsuppress): Disable/Enable_Atomic_Synchronization can now occur for array types with pragma Atomic_Components. * sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now occur on N_Explicit_Dereference nodes and on N_Indexed_Component nodes. 2011-11-04 Gary Dismukes * gnat_ugn.texi: Editorial corrections for gnattest section. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180943 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ada/sinfo.adb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'gcc/ada/sinfo.adb') diff --git a/gcc/ada/sinfo.adb b/gcc/ada/sinfo.adb index 916e0ae5843..f6ea4b19470 100644 --- a/gcc/ada/sinfo.adb +++ b/gcc/ada/sinfo.adb @@ -254,7 +254,9 @@ package body Sinfo is begin pragma Assert (False or else NT (N).Nkind = N_Expanded_Name - or else NT (N).Nkind = N_Identifier); + or else NT (N).Nkind = N_Explicit_Dereference + or else NT (N).Nkind = N_Identifier + or else NT (N).Nkind = N_Indexed_Component); return Flag14 (N); end Atomic_Sync_Required; @@ -3323,7 +3325,9 @@ package body Sinfo is begin pragma Assert (False or else NT (N).Nkind = N_Expanded_Name - or else NT (N).Nkind = N_Identifier); + or else NT (N).Nkind = N_Explicit_Dereference + or else NT (N).Nkind = N_Identifier + or else NT (N).Nkind = N_Indexed_Component); Set_Flag14 (N, Val); end Set_Atomic_Sync_Required; -- cgit v1.2.1 From b444f81d4fd636a38e26b5afa56a247eedd17ca3 Mon Sep 17 00:00:00 2001 From: charlet Date: Fri, 4 Nov 2011 13:48:52 +0000 Subject: 2011-11-04 Yannick Moy * sem_prag.adb: Minor refactoring (renaming of a parameter). 2011-11-04 Robert Dewar * atree.ads: Minor reformatting. 2011-11-04 Robert Dewar * checks.adb (Atomic_Synchronization_Disabled): Check -gnatd.d and -gnatd.e here * exp_ch2.adb (Expand_Entity_Reference): Use Activate_Atomic_Synchronization * exp_ch4.adb (Expand_N_Explicit_Dereference): Use Activate_Atomic_Synchronization (Expand_N_Indexed_Compoonent): Activate_Atomic_Synchronization (Expand_N_Selected_Component): Use Activate_Atomic_Synchronization * exp_util.ads, exp_util.adb (Activate_Atomic_Synchronization): New procedure. * sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now apply to N_Selected_Component node git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180950 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ada/sinfo.adb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gcc/ada/sinfo.adb') diff --git a/gcc/ada/sinfo.adb b/gcc/ada/sinfo.adb index f6ea4b19470..b36b930b8c4 100644 --- a/gcc/ada/sinfo.adb +++ b/gcc/ada/sinfo.adb @@ -256,7 +256,8 @@ package body Sinfo is or else NT (N).Nkind = N_Expanded_Name or else NT (N).Nkind = N_Explicit_Dereference or else NT (N).Nkind = N_Identifier - or else NT (N).Nkind = N_Indexed_Component); + or else NT (N).Nkind = N_Indexed_Component + or else NT (N).Nkind = N_Selected_Component); return Flag14 (N); end Atomic_Sync_Required; @@ -3327,7 +3328,8 @@ package body Sinfo is or else NT (N).Nkind = N_Expanded_Name or else NT (N).Nkind = N_Explicit_Dereference or else NT (N).Nkind = N_Identifier - or else NT (N).Nkind = N_Indexed_Component); + or else NT (N).Nkind = N_Indexed_Component + or else NT (N).Nkind = N_Selected_Component); Set_Flag14 (N, Val); end Set_Atomic_Sync_Required; -- cgit v1.2.1