aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/vms_data.ads
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/vms_data.ads')
-rw-r--r--gcc/ada/vms_data.ads32
1 files changed, 26 insertions, 6 deletions
diff --git a/gcc/ada/vms_data.ads b/gcc/ada/vms_data.ads
index 80c6eaf..c33bb8f 100644
--- a/gcc/ada/vms_data.ads
+++ b/gcc/ada/vms_data.ads
@@ -1347,12 +1347,13 @@ package VMS_Data is
-- if the /CHECKS qualifier is not present on the
-- command line. Same as /NOCHECKS.
--
- -- OVERFLOW Enables overflow checking for integer operations and
- -- checks for access before elaboration on subprogram
- -- calls. This causes GNAT to generate slower and larger
- -- executable programs by adding code to check for both
- -- overflow and division by zero (resulting in raising
- -- "Constraint_Error" as required by Ada semantics).
+ -- OVERFLOW Enables overflow checking in CHECKED mode for integer
+ -- operations and checks for access before elaboration
+ -- on subprogram calls. This causes GNAT to generate
+ -- slower and larger executable programs by adding code
+ -- to check for both overflow and division by zero
+ -- (resulting in raising "Constraint_Error" as required
+ -- by Ada semantics).
-- Similarly, GNAT does not generate elaboration check
-- by default, and you must specify this keyword to
-- enable them.
@@ -2108,6 +2109,24 @@ package VMS_Data is
-- file xyz.adb is compiled with -gnatl=.lst, then the output is written
-- to file xyz.adb_lst.
+ S_GCC_Overflo : aliased constant S := "/OVERFLOW_CHECKS=#" &
+ "-gnato#";
+ -- /OVERFLOW_CHECKS=nn
+ --
+ -- Set default overflow cheecking mode. If nn is a single digit, in the
+ -- range 0-3, it sets the overflow checking mode for all expressions,
+ -- including those outside and within assertions. The meaning of nnn is:
+ --
+ -- 0 suppress overflow checks (SUPPRESSED)
+ -- 1 all intermediate overflows checked (CHECKED)
+ -- 2 minimize intermediate overflows (MINIMIZED)
+ -- 3 eliminate intermediate overflows (ELIMINATED)
+ --
+ -- Otherwise nn can be two digits, both 0-3, and in this case the first
+ -- digit sets the mode (using the above code) for expressions outside an
+ -- assertion, and the second digit sets the mode for expressions within
+ -- an assertion.
+
S_GCC_Pointer : aliased constant S := "/POINTER_SIZE=" &
"64 " &
"-mmalloc64 " &
@@ -3622,6 +3641,7 @@ package VMS_Data is
S_GCC_NoWarnP 'Access,
S_GCC_Opt 'Access,
S_GCC_OptX 'Access,
+ S_GCC_Overflo 'Access,
S_GCC_Pointer 'Access,
S_GCC_Polling 'Access,
S_GCC_Project 'Access,