aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_util.ads
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-07-16 16:00:46 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2014-07-16 16:00:46 +0200
commite59243faa1bfc9f5a84779ef20c4cb5a5046ffbe (patch)
tree5dfcf15d019c554b5504a0af6e05baff001bde4f /gcc/ada/exp_util.ads
parent8942b30c7c1a6500f56bdf93ba96c54da370ba8c (diff)
downloadgcc-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.ads9
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);