diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-07-16 16:00:46 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-07-16 16:00:46 +0200 |
commit | e59243faa1bfc9f5a84779ef20c4cb5a5046ffbe (patch) | |
tree | 5dfcf15d019c554b5504a0af6e05baff001bde4f /gcc/ada/exp_util.ads | |
parent | 8942b30c7c1a6500f56bdf93ba96c54da370ba8c (diff) | |
download | gcc-e59243faa1bfc9f5a84779ef20c4cb5a5046ffbe.zip gcc-e59243faa1bfc9f5a84779ef20c4cb5a5046ffbe.tar.gz gcc-e59243faa1bfc9f5a84779ef20c4cb5a5046ffbe.tar.bz2 |
[multiple changes]
2014-07-16 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.ads, exp_ch4.adb (Find_Hook_Context): Relocated to Exp_Util.
* exp_ch7.adb (Process_Declarations): There is no need to check
that a transient object being hooked is controlled as it would
not have been hooked in the first place.
* exp_ch9.adb Remove with and use clause for Exp_Ch4.
* exp_util.adb (Find_Hook_Context): Relocated from Exp_Ch4.
(Is_Aliased): A renaming of a transient controlled object is
not considered aliasing when it occurs within an expression
with actions.
(Requires_Cleanup_Actions): There is no need to
check that a transient object being hooked is controlled as it
would not have been hooked in the first place.
* exp_util.ads (Find_Hook_Context): Relocated from Exp_Ch4.
2014-07-16 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch13.adb (Insert_After_SPARK_Mode): Moved to
the outer level of routine Analyze_Aspect_Specifications. Ensure
that the corresponding pragmas of aspects Initial_Condition and
Initializes are inserted after pragma SPARK_Mode.
2014-07-16 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Analyze_Attribute, case 'Update): Handle
properly a choice list with more than one choice, where each
is an aggregate denoting a sequence of array indices for a
multidimentional array. For SPARK use.
From-SVN: r212646
Diffstat (limited to 'gcc/ada/exp_util.ads')
-rw-r--r-- | gcc/ada/exp_util.ads | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ada/exp_util.ads b/gcc/ada/exp_util.ads index 40a6fbe..54e051b 100644 --- a/gcc/ada/exp_util.ads +++ b/gcc/ada/exp_util.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2013, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2014, 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- -- @@ -445,6 +445,13 @@ package Exp_Util is -- Given a protected type or its corresponding record, find the type of -- field _object. + function Find_Hook_Context (N : Node_Id) return Node_Id; + -- Determine a suitable node on which to attach actions related to N that + -- need to be elaborated unconditionally. In general this is the topmost + -- expression of which N is a subexpression, which in turn may or may not + -- be evaluated, for example if N is the right operand of a short circuit + -- operator. + procedure Force_Evaluation (Exp : Node_Id; Name_Req : Boolean := False); |