summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2014-07-31 09:48:12 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2014-07-31 09:48:12 +0000
commit1974a3cb589332cdab001a8551e427d379586790 (patch)
tree55467a1a341de6fbf3cdd390e8c0b60bef5dfba5
parenteef08c193592597db2622407e035e3cd204abfba (diff)
downloadgcc-1974a3cb589332cdab001a8551e427d379586790.tar.gz
2014-07-31 Robert Dewar <dewar@adacore.com>
* bindgen.adb (Gen_Output_File_Ada): Generate pragma Suppress (Overflow_Check). * gnatlink.adb (Process_Args): Remove generation of -gnato0, no longer needed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213329 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ada/ChangeLog7
-rw-r--r--gcc/ada/bindgen.adb8
-rw-r--r--gcc/ada/gnatlink.adb6
3 files changed, 15 insertions, 6 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index b14a429106f..bac79b166e2 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,5 +1,12 @@
2014-07-31 Robert Dewar <dewar@adacore.com>
+ * bindgen.adb (Gen_Output_File_Ada): Generate pragma Suppress
+ (Overflow_Check).
+ * gnatlink.adb (Process_Args): Remove generation of -gnato0,
+ no longer needed.
+
+2014-07-31 Robert Dewar <dewar@adacore.com>
+
* gnat_ugn.texi: Document new switch -gnato0.
* sem_ch3.ads: Minor reformatting.
* gnatlink.adb (Process_Args): Compile bind file with -gnato0
diff --git a/gcc/ada/bindgen.adb b/gcc/ada/bindgen.adb
index f045b8e0235..8d5262b48c7 100644
--- a/gcc/ada/bindgen.adb
+++ b/gcc/ada/bindgen.adb
@@ -2493,6 +2493,14 @@ package body Bindgen is
", Body_File_Name => """ &
Name_Buffer (1 .. Name_Len + 3));
+ -- Generate pragma Suppress (Overflow_Check). This is needed for recent
+ -- versions of the compiler which have overflow checks on by default.
+ -- We do not want overflow checking enabled for the increments of the
+ -- elaboration variables (since this can cause an unwanted reference to
+ -- the last chance exception handler for limited run-times).
+
+ WBI ("pragma Suppress (Overflow_Check);");
+
-- Generate with of System.Restrictions to initialize
-- Run_Time_Restrictions.
diff --git a/gcc/ada/gnatlink.adb b/gcc/ada/gnatlink.adb
index 0ac7113cf21..bb79180b56e 100644
--- a/gcc/ada/gnatlink.adb
+++ b/gcc/ada/gnatlink.adb
@@ -676,12 +676,6 @@ procedure Gnatlink is
Binder_Options.Increment_Last;
Binder_Options.Table (Binder_Options.Last) := new String'("-gnatws");
- -- Also suppress overflow checks (needed now that we have them on by
- -- default, we want checks off when incrementing elaboration counters).
-
- Binder_Options.Increment_Last;
- Binder_Options.Table (Binder_Options.Last) := new String'("-gnato0");
-
-- If we did not get an ali file at all, and we had at least one
-- linker option, then assume that was the intended ali file after
-- all, so that we get a nicer message later on.