aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_util.ads
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2011-08-03 09:45:36 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2011-08-03 09:45:36 +0200
commitabcd9db2c8326a00f5d08d7ce08a382eb9b17120 (patch)
tree5d30ddc00e27133f5b6801cc2042c13d19214134 /gcc/ada/sem_util.ads
parentb474d6c3f1ea034da14d20a52f183e4a1a0e7b87 (diff)
downloadgcc-abcd9db2c8326a00f5d08d7ce08a382eb9b17120.zip
gcc-abcd9db2c8326a00f5d08d7ce08a382eb9b17120.tar.gz
gcc-abcd9db2c8326a00f5d08d7ce08a382eb9b17120.tar.bz2
[multiple changes]
2011-08-03 Robert Dewar <dewar@adacore.com> * exp_ch4.adb (Optimize_Length_Check): Fix bad handling of case where comparison operand is variable, and turns out to be zero or negative. 2011-08-03 Javier Miranda <miranda@adacore.com> * exp_intr.adb (Expand_Dispatching_Constructor_Call): Disable expansion of code required for native targets. Done to avoid generating references to unavailable runtime entities in VM targets. * exp_ch3.adb (Expand_N_Object_Declaration): Add missing support to handle the explicit initialization of class-wide interface objects. Fix documentation. 2011-08-03 Matthew Heaney <heaney@adacore.com> * a-cobove.adb (Merge): Move source onto target, instead of using Assign 2011-08-03 Matthew Heaney <heaney@adacore.com> * a-cbdlli.adb (Splice): move source items from first to last 2011-08-03 Yannick Moy <moy@adacore.com> * sem_util.ads: comment added. 2011-08-03 Javier Miranda <miranda@adacore.com> * exp_aggr.adb (Expand_Record_Aggregate): In VM targets disable the expansion into assignments of aggregates whose type is not known at compile time. From-SVN: r177233
Diffstat (limited to 'gcc/ada/sem_util.ads')
-rw-r--r--gcc/ada/sem_util.ads17
1 files changed, 9 insertions, 8 deletions
diff --git a/gcc/ada/sem_util.ads b/gcc/ada/sem_util.ads
index 371afbb..c176179 100644
--- a/gcc/ada/sem_util.ads
+++ b/gcc/ada/sem_util.ads
@@ -279,14 +279,15 @@ package Sem_Util is
procedure Mark_Non_ALFA_Subprogram;
-- If Current_Subprogram is not Empty, mark either its specification or its
- -- body as not being in ALFA. If this procedure is called during the
- -- analysis of a precondition or postcondition, as indicated by the flag
- -- In_Pre_Post_Expression, mark the specification as not being in ALFA.
- -- Otherwise, mark the body as not being in ALFA.
- --
- -- I would really like to see more comments on this peculiar processing
- -- for precondition/postcondition, the comment above says what is done
- -- but not why???
+ -- body as not being in ALFA. This procedure may be called either during
+ -- the analysis of a precondition or postcondition, as indicated by the
+ -- flag In_Pre_Post_Expression, or during the analysis of a subprogram's
+ -- body. In the first case, the specification of Current_Subprogram must be
+ -- marked as not being in ALFA, as the contract is considered to be part of
+ -- the specification, so that calls to this subprogram are not in ALFA. In
+ -- the second case, mark the body as not being in ALFA, which does not
+ -- prevent the subprogram's specification, and calls to the subprogram, to
+ -- be in ALFA.
function Defining_Entity (N : Node_Id) return Entity_Id;
-- Given a declaration N, returns the associated defining entity. If the