diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-05-22 12:53:21 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-05-22 12:53:21 +0000 |
commit | 2fe893b952031310e96bba64f19bf6530fd2b2e3 (patch) | |
tree | b66b44d98a027fc0c33dc1f86e1a61404d3d06d2 /gcc/ada/freeze.ads | |
parent | 36625869d3f0688597d79eed21cbb7459d70c0e7 (diff) | |
download | gcc-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/freeze.ads')
-rw-r--r-- | gcc/ada/freeze.ads | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/ada/freeze.ads b/gcc/ada/freeze.ads index e88acbf31d2..3179e4b1412 100644 --- a/gcc/ada/freeze.ads +++ b/gcc/ada/freeze.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2014, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2015, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -174,12 +174,11 @@ package Freeze is -- do not allow a size clause if the size would not otherwise be known at -- compile time in any case. - function Is_Atomic_Aggregate + function Is_Atomic_VFA_Aggregate (E : Entity_Id; Typ : Entity_Id) return Boolean; - - -- If an atomic object is initialized with an aggregate or is assigned an - -- aggregate, we have to prevent a piecemeal access or assignment to the + -- If an atomic/VFA object is initialized with an aggregate or is assigned + -- an aggregate, we have to prevent a piecemeal access or assignment to the -- object, 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. This is only done in the context |