public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc/devel/autopar_devel] [Ada] Update the documentation in checks.ads about range checks
@ 2020-08-22 21:58 Giuliano Belinassi
  0 siblings, 0 replies; only message in thread
From: Giuliano Belinassi @ 2020-08-22 21:58 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:3ad54fa7dd1d63b7124fdb194b4d48110589ba58

commit 3ad54fa7dd1d63b7124fdb194b4d48110589ba58
Author: Eric Botcazou <ebotcazou@adacore.com>
Date:   Thu Jan 23 16:40:14 2020 +0100

    [Ada] Update the documentation in checks.ads about range checks
    
    2020-06-04  Eric Botcazou  <ebotcazou@adacore.com>
    
    gcc/ada/
    
            * checks.ads: Update documentation about range checks and fix
            minor other things.

Diff:
---
 gcc/ada/checks.ads | 42 +++++++++++++++++-------------------------
 1 file changed, 17 insertions(+), 25 deletions(-)

diff --git a/gcc/ada/checks.ads b/gcc/ada/checks.ads
index e8808d98264..905e1120ebd 100644
--- a/gcc/ada/checks.ads
+++ b/gcc/ada/checks.ads
@@ -23,10 +23,10 @@
 --                                                                          --
 ------------------------------------------------------------------------------
 
---  Package containing routines used to deal with runtime checks. These
+--  Package containing routines used to deal with run-time checks. These
 --  routines are used both by the semantics and by the expander. In some
---  cases, checks are enabled simply by setting flags for gigi, and in
---  other cases the code for the check is expanded.
+--  cases, checks are enabled simply by setting a flag for the back end,
+--  and in other cases the code for the check is expanded.
 
 --  The approach used for range and length checks, in regards to suppressed
 --  checks, is to attempt to detect at compilation time that a constraint
@@ -179,7 +179,7 @@ package Checks is
    --  operate anyway since they may generate useful compile time warnings.
 
    procedure Apply_Access_Check (N : Node_Id);
-   --  Determines whether an expression node requires a runtime access
+   --  Determines whether an expression node requires a run-time access
    --  check and if so inserts the appropriate run-time check.
 
    procedure Apply_Accessibility_Check
@@ -200,7 +200,7 @@ package Checks is
    --  generated) is prepended to the Actions list of N_Freeze_Entity node N.
    --  Note that the check references E'Alignment, so it cannot be emitted
    --  before N (its freeze node), otherwise this would cause an illegal
-   --  access before elaboration error in GIGI. For the case of a clear overlay
+   --  access before elaboration error in gigi. For the case of a clear overlay
    --  situation, we also check that the size of the overlaying object is not
    --  larger than the overlaid object.
 
@@ -339,7 +339,7 @@ package Checks is
    --  value should be taken into account, which is not the case currently.
 
    procedure Install_Null_Excluding_Check (N : Node_Id);
-   --  Determines whether an access node requires a runtime access check and
+   --  Determines whether an access node requires a run-time access check and
    --  if so inserts the appropriate run-time check.
 
    procedure Install_Primitive_Elaboration_Check (Subp_Body : Node_Id);
@@ -445,13 +445,10 @@ package Checks is
    -------------------------------------------------------
 
    --  Range checks are controlled by the Do_Range_Check flag. The front end
-   --  is responsible for setting this flag in relevant nodes. Originally
-   --  the back end generated all corresponding range checks. But later on
-   --  we decided to generate many range checks in the front end. We are now
-   --  in the transitional phase where some of these checks are still done
-   --  by the back end, but many are done by the front end. It is possible
-   --  that in the future we might move all the checks to the front end. The
-   --  main remaining back end checks are for subscript checking.
+   --  is responsible for setting this flag in relevant nodes. Originally the
+   --  back end generated all the corresponding range checks, but later on we
+   --  decided to generate all the range checks in the front end and this is
+   --  the current situation.
 
    --  Overflow checks are similarly controlled by the Do_Overflow_Check flag.
    --  The difference here is that if back end overflow checks are inactive
@@ -621,7 +618,7 @@ package Checks is
       Source_Typ : Entity_Id := Empty;
       Fixed_Int  : Boolean   := False);
    --  For scalar types, determines whether an expression node should be
-   --  flagged as needing a runtime range check. If the node requires such a
+   --  flagged as needing a run-time range check. If the node requires such a
    --  check, the Do_Range_Check flag is turned on. The Fixed_Int flag if set
    --  causes any fixed-point values to be treated as though they were discrete
    --  values (i.e. the underlying integer value is used).
@@ -678,17 +675,12 @@ package Checks is
    -----------------------
 
    --  Some of the earlier processing for checks results in temporarily setting
-   --  the Do_Range_Check flag rather than actually generating checks. Now we
-   --  are moving the generation of such checks into the front end for reasons
-   --  of efficiency and simplicity (there were difficulties in handling this
-   --  in the back end when side effects were present in the expressions being
-   --  checked).
-
-   --  Probably we could eliminate the Do_Range_Check flag entirely and
-   --  generate the checks earlier, but this is a delicate area and it
-   --  seemed safer to implement the following routines, which are called
-   --  late on in the expansion process. They check the Do_Range_Check flag
-   --  and if it is set, generate the actual checks and reset the flag.
+   --  the Do_Range_Check flag rather than actually generating checks. Probably
+   --  we could eliminate the Do_Range_Check flag entirely and generate checks
+   --  earlier, but this is a delicate area and it seems safer to implement the
+   --  following routines, which are called later on in the expansion process.
+   --  They check the Do_Range_Check flag and if it is set, generate the actual
+   --  checks and reset the flag.
 
    procedure Generate_Range_Check
      (N           : Node_Id;


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-08-22 21:58 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-22 21:58 [gcc/devel/autopar_devel] [Ada] Update the documentation in checks.ads about range checks Giuliano Belinassi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).