]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Tue, 29 Jul 2014 13:43:43 +0000 (15:43 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 29 Jul 2014 13:43:43 +0000 (15:43 +0200)
2014-07-29  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
Fix incorrect RTE call which caused bomb if pragma was in
configuration pragma file.

2014-07-29  Jerome Lambourg  <lambourg@adacore.com>

* expect.c (__gnat_expect_poll): Fix typo in previous change.
* g-expect.adb: Update comments.

2014-07-29  Arnaud Charlet  <charlet@adacore.com>

* s-parame-hpux.ads, s-parame-vms-ia64.ads, s-parame.ads
(Default_Attribute_Count): Bump to 16 on native platforms.

2014-07-29  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb: Add guard to front-end inlining for SPARK.

From-SVN: r213185

gcc/ada/ChangeLog
gcc/ada/expect.c
gcc/ada/g-expect.adb
gcc/ada/s-parame-hpux.ads
gcc/ada/s-parame-vms-ia64.ads
gcc/ada/s-parame.ads
gcc/ada/sem_prag.adb
gcc/ada/sem_res.adb

index 78d81fdd1fa96837b0f5b98ed7eafe0927423a46..4c97779155329225f798c7e6c3cfd212cabb0836 100644 (file)
@@ -1,3 +1,23 @@
+2014-07-29  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
+       Fix incorrect RTE call which caused bomb if pragma was in
+       configuration pragma file.
+
+2014-07-29  Jerome Lambourg  <lambourg@adacore.com>
+
+       * expect.c (__gnat_expect_poll): Fix typo in previous change.
+       * g-expect.adb: Update comments.
+
+2014-07-29  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-parame-hpux.ads, s-parame-vms-ia64.ads, s-parame.ads
+       (Default_Attribute_Count): Bump to 16 on native platforms.
+
+2014-07-29  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb: Add guard to front-end inlining for SPARK.
+
 2014-07-29  Robert Dewar  <dewar@adacore.com>
 
        * sem_ch10.adb, debug.adb, sem_prag.adb, sem_res.adb, sem_ch6.adb:
index ce03224e9cf93314a83d413417f742d919b51109..45e0540e839e85f098f3eea74f82740809bfd842 100644 (file)
@@ -180,9 +180,10 @@ __gnat_expect_poll (int *fd,
       for (i = 0; i < num_fd; i++)
         {
           if (!PeekNamedPipe (handles [i], NULL, 0, NULL, &avail, NULL))
-            *dead_process = i + 1;
-            return -1;
-
+            {
+              *dead_process = i + 1;
+              return -1;
+            }
           if (avail > 0)
             {
               is_set[i] = 1;
@@ -292,9 +293,9 @@ __gnat_expect_poll (int *fd,
 
          if ((status & 1) != 1)
            {
-             ready = -1;
+              ready = -1;
               dead_process = i + 1;
-             return ready;
+              return ready;
            }
        }
     }
index af2f0dc1bba8ad8755bd2703eb7f1ddb7798af85..94f80e92263dbf4ebbc6360a25b4beef345fd504 100644 (file)
@@ -110,9 +110,10 @@ package body GNAT.Expect is
       Dead_Process : access Integer;
       Is_Set       : System.Address) return Integer;
    pragma Import (C, Poll, "__gnat_expect_poll");
-   --  Check whether there is any data waiting on the file descriptors Fds, and
-   --  wait if there is none, at most Timeout milliseconds Returns -1 in case
-   --  of error, 0 if the timeout expired before data became available.
+   --  Check whether there is any data waiting on the file descriptors
+   --  Fds, and wait if there is none, at most Timeout milliseconds
+   --  Returns -1 in case of error, 0 if the timeout expired before
+   --  data became available.
    --
    --  Is_Set is an array of the same size as FDs and elements are set to 1 if
    --  data is available for the corresponding File Descriptor, 0 otherwise.
index b8511162fff7c7dfc58ffba94dc03143ef105b34..1b3142ca789ddd548282428253a2bded2766456c 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2014, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -180,7 +180,7 @@ package System.Parameters is
    -- Task Attributes --
    ---------------------
 
-   Default_Attribute_Count : constant := 4;
+   Default_Attribute_Count : constant := 16;
    --  Number of pre-allocated Address-sized task attributes stored in the
    --  task control block.
 
index 2726f34b2c4fdd9cce0bdff50d0b2d7c1c0ba0f2..ed3cd6c9157a3c65bc7f7f84d938e91fdef68ded 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2014, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -183,7 +183,7 @@ package System.Parameters is
    -- Task Attributes --
    ---------------------
 
-   Default_Attribute_Count : constant := 4;
+   Default_Attribute_Count : constant := 16;
    --  Number of pre-allocated Address-sized task attributes stored in the
    --  task control block.
 
index 4ebfc5cd8779994caa195d9f365fa405a81226cb..a0b87fd831e0cbfe822849df49b7c89ef789b89d 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2013, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2014, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -182,7 +182,7 @@ package System.Parameters is
    -- Task Attributes --
    ---------------------
 
-   Default_Attribute_Count : constant := 4;
+   Default_Attribute_Count : constant := 16;
    --  Number of pre-allocated Address-sized task attributes stored in the
    --  task control block.
 
index c7967ca58042e9734160687f5745a671f698bb55..9f69c00cd1231cc1ec7becc5f7ee3780090ed021 100644 (file)
@@ -11012,15 +11012,7 @@ package body Sem_Prag is
             --  VMS, where it is an integer type), then this pragma has no
             --  purpose, so it is simply ignored.
 
-            --  If Allow_Integer_Address is already set do nothing, otherwise
-            --  calling RTE on RE_Address would cause a crash when loading
-            --  system.ads. ??? same will happen if Allow_Integer_Address is
-            --  not set actually, to be fixed and then the guard on
-            --  not Opt.Allow_Integer_Address should be removed.
-
-            if not Opt.Allow_Integer_Address
-              and then Is_Private_Type (RTE (RE_Address))
-            then
+            if Opt.Address_Is_Private then
                Opt.Allow_Integer_Address := True;
             end if;
 
index 221d15b0ccf0b64a72e101c408e3f66b812094ef..168cfb32c454faf8658556b68336e044659a160f 100644 (file)
@@ -6127,8 +6127,10 @@ package body Sem_Res is
       --  In GNATprove_Mode expansion is disabled, but we want to inline
       --  subprograms that are marked Inline_Always, since the inlining
       --  is useful in making it easier to prove things about the inlined body.
+      --  Indirect calls, through a subprogram type, cannot be inlined.
 
       if GNATprove_Mode
+        and then Is_Overloadable (Nam)
         and then Nkind (Unit_Declaration_Node (Nam)) = N_Subprogram_Declaration
         and then Present (Body_To_Inline (Unit_Declaration_Node (Nam)))
       then