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).