summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_aggr.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-22 12:53:21 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-22 12:53:21 +0000
commit2fe893b952031310e96bba64f19bf6530fd2b2e3 (patch)
treeb66b44d98a027fc0c33dc1f86e1a61404d3d06d2 /gcc/ada/exp_aggr.adb
parent36625869d3f0688597d79eed21cbb7459d70c0e7 (diff)
downloadgcc-2fe893b952031310e96bba64f19bf6530fd2b2e3.tar.gz
2015-05-22 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb, layout.adb, einfo.adb, einfo.ads, sem_prag.adb, freeze.adb, freeze.ads, sem_util.adb, sem_util.ads, exp_ch2.adb, exp_ch4.adb, errout.adb, exp_aggr.adb, sem_ch13.adb: This is a general change that deals with the fact that most of the special coding for Atomic should also apply to the case of Volatile_Full_Access. A new attribute Is_Atomic_Or_VFA is introduced, and many of the references to Is_Atomic now use this new attribute. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223560 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_aggr.adb')
-rw-r--r--gcc/ada/exp_aggr.adb8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb
index b53b28febf5..70f49688b86 100644
--- a/gcc/ada/exp_aggr.adb
+++ b/gcc/ada/exp_aggr.adb
@@ -4175,7 +4175,7 @@ package body Exp_Aggr is
Ctyp := Component_Type (Ctyp);
- if Is_Atomic (Ctyp) then
+ if Is_Atomic_Or_VFA (Ctyp) then
return False;
end if;
end loop;
@@ -5935,15 +5935,15 @@ package body Exp_Aggr is
-- Start of processing for Expand_Record_Aggregate
begin
- -- If the aggregate is to be assigned to an atomic variable, we have
+ -- If the aggregate is to be assigned to an atomic/VFA variable, we have
-- to prevent a piecemeal assignment even if the aggregate is to be
-- expanded. We create a temporary for the aggregate, and assign the
-- temporary instead, so that the back end can generate an atomic move
-- for it.
- if Is_Atomic (Typ)
+ if Is_Atomic_Or_VFA (Typ)
and then Comes_From_Source (Parent (N))
- and then Is_Atomic_Aggregate (N, Typ)
+ and then Is_Atomic_VFA_Aggregate (N, Typ)
then
return;