diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2017-04-27 12:55:17 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2017-04-27 12:55:17 +0200 |
commit | f24745230fe28ddd92d28ff681bd95d10578e3b0 (patch) | |
tree | b1127dd8d674d84780a7a616a3d3db7b2d875a35 /gcc/ada/sem_dim.ads | |
parent | 78f2b7ce3aea49818ea97974cb41029f820d0a99 (diff) | |
download | gcc-f24745230fe28ddd92d28ff681bd95d10578e3b0.zip gcc-f24745230fe28ddd92d28ff681bd95d10578e3b0.tar.gz gcc-f24745230fe28ddd92d28ff681bd95d10578e3b0.tar.bz2 |
[multiple changes]
2017-04-27 Steve Baird <baird@adacore.com>
* exp_ch9.adb (Expand_N_Asynchronous_Select): Initialize the Cancel
flag when it is declared in order to avoid confusing CodePeer about
the possibility of an uninitialized variable read.
2017-04-27 Ed Schonberg <schonberg@adacore.com>
* sem_dim.adb (Analyze_Dimension_Object_Declaration): There is
no dimensionality error if the subtype of the expression is
identical to the nominal subtype in the declaration, even though
the expression itself may have been constant-folded and lack a
dimension vector.
* sem_dim.ads: Add comments on setting of dimension vectors and
its interaction with node rewritings and side-effect removal.
2017-04-27 Bob Duff <duff@adacore.com>
* debug.adb: Minor comment correction.
* sem_dim.ads: Minor reformatting and typo fixes.
2017-04-27 Bob Duff <duff@adacore.com>
* g-table.adb, g-table.adsa, scos.h: From the C side, access First and
Last of the tables via function calls, rather than relying on layout
of data structures.
2017-04-27 Ed Schonberg <schonberg@adacore.com>
* exp_util.adb: No wrapper in GNATprove mode.
2017-04-27 Yannick Moy <moy@adacore.com>
* sem_res.adb (Resolve_Comparison_Op): Always
evaluate comparisons between values of universal types.
2017-04-27 Hristian Kirtchev <kirtchev@adacore.com>
* sem_elab.adb (Check_Internal_Call_Continue): Do not generate
an elaboration counter nor a check when in GNATprove mode.
* sem_util.adb (Build_Elaboration_Entity): Do not create an
elaboration counter when in GNATprove mode.
From-SVN: r247317
Diffstat (limited to 'gcc/ada/sem_dim.ads')
-rw-r--r-- | gcc/ada/sem_dim.ads | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ada/sem_dim.ads b/gcc/ada/sem_dim.ads index fc484ea..bad3bf2 100644 --- a/gcc/ada/sem_dim.ads +++ b/gcc/ada/sem_dim.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 2011-2016, Free Software Foundation, Inc. -- +-- Copyright (C) 2011-2017, 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- -- @@ -83,6 +83,16 @@ -- Phase 2 is called only when the node allows a dimension (see body of -- Sem_Dim to get the list of nodes that permit dimensions). +-- In principle every node that is a component of a floating-point expression +-- may have a dimension vector. However, the dimensionality checking is for +-- the most part a bottom-up tree traversal, and the dimensions of operands +-- become irrelevant once the dimensions of an operation have been computed. +-- To minimize space use, the dimensions of operands are removed after the +-- computation of the dimensions of the parent operation. This may complicate +-- the analysis of nodes that have been constant-folded or otherwise rewritten +-- when removing side effects. In such cases, the (sub)type of the expression +-- is used to determine the applicable dimensions. + with Types; use Types; package Sem_Dim is |