re PR ada/81446 (building Ada fails due to missing No_Elaboration_Code_All)
authorJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Sat, 15 Jul 2017 17:01:03 +0000 (17:01 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Sat, 15 Jul 2017 17:01:03 +0000 (17:01 +0000)
PR ada/81446
* system-linux-m68k.ads: Add pragma No_Elaboration_Code_All.

From-SVN: r250224

gcc/ada/ChangeLog
gcc/ada/system-linux-m68k.ads

index dc8f27994d5475c1b861310878eb5f1639a69789..595d819f88539aa68686b1998277e18ce3311f03 100644 (file)
@@ -1,3 +1,9 @@
+2017-07-15  John Paul Adrian Glaubitz  <glaubitz@physik.fu-berlin.de>
+
+       PR ada/81446
+       * system-linux-m68k.ads: Add pragma No_Elaboration_Code_All.
+       (Backend_Overflow_Checks): Set to True.
+
 2017-06-23  Jakub Jelinek  <jakub@redhat.com>
 
        * gcc-interface/trans.c (gnat_to_gnu): Initialize sync to false to
index 9aa6143f26207bb019db9e0364e52a701628d150..71d4f5762fb1b4b3bff2727d430684221c93f3ad 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                         (GNU/Linux/m68k Version)                         --
 --                                                                          --
---          Copyright (C) 2014-2016, Free Software Foundation, Inc.         --
+--          Copyright (C) 2014-2017, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
    --  this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
    --  2005, this is Pure in any case (AI-362).
 
+   pragma No_Elaboration_Code_All;
+   --  Allow the use of that restriction in units that WITH this unit
+
    type Name is (SYSTEM_NAME_GNAT);
    System_Name : constant Name := SYSTEM_NAME_GNAT;
 
@@ -126,7 +129,7 @@ private
    --  of the individual switch values.
 
    Backend_Divide_Checks     : constant Boolean := False;
-   Backend_Overflow_Checks   : constant Boolean := False;
+   Backend_Overflow_Checks   : constant Boolean := True;
    Command_Line_Args         : constant Boolean := True;
    Configurable_Run_Time     : constant Boolean := False;
    Denorm                    : constant Boolean := True;