aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/freeze.ads
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2009-07-11 19:46:23 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2009-07-11 19:46:23 +0200
commitb0159fbee916e3bbeb2d661b40ae4483a0bcb9b7 (patch)
tree13c0dad3daf6e336511830c555284e910bf763db /gcc/ada/freeze.ads
parent3e3a9a6ac1608dcafc4ef5c96a8f30c1d5243dc5 (diff)
downloadgcc-b0159fbee916e3bbeb2d661b40ae4483a0bcb9b7.zip
gcc-b0159fbee916e3bbeb2d661b40ae4483a0bcb9b7.tar.gz
gcc-b0159fbee916e3bbeb2d661b40ae4483a0bcb9b7.tar.bz2
[multiple changes]
2009-07-11 Thomas Quinot <quinot@adacore.com> * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing: Lvalue -> lvalue * exp_ch6.adb: Minor reformatting 2009-07-11 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into account possible type qualification to determine whether aggregate needs a target temporary to respect atomic type or object. * exp_aggr.adb (Expand_Record_Aggregate): Use new version of Expand_Atomic_Aggregate. 2009-07-11 Emmanuel Briot <briot@adacore.com> * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up algorithm. (Excluded_Sources_Htable): No longer a global table. Change error message to indicate which files are illegal in the list of excluded files, as opposed to only the location in the project file. (Find_Source): New subprogram. From-SVN: r149515
Diffstat (limited to 'gcc/ada/freeze.ads')
-rw-r--r--gcc/ada/freeze.ads9
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ada/freeze.ads b/gcc/ada/freeze.ads
index 1afec17..ac2fa8c 100644
--- a/gcc/ada/freeze.ads
+++ b/gcc/ada/freeze.ads
@@ -175,12 +175,17 @@ package Freeze is
-- do not allow a size clause if the size would not otherwise be known at
-- compile time in any case.
- procedure Expand_Atomic_Aggregate (E : Entity_Id; Typ : Entity_Id);
+ function Expand_Atomic_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 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.
+ -- so that the back end can generate an atomic move for it. This is
+ -- only done in the context of an object declaration or an assignment.
+ -- Function is a noop and returns false in other contexts.
function Freeze_Entity (E : Entity_Id; Loc : Source_Ptr) return List_Id;
-- Freeze an entity, and return Freeze nodes, to be inserted at the