OSDN Git Service

2009-04-20 Ed Schonberg <schonberg@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Apr 2009 12:30:25 +0000 (12:30 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Apr 2009 12:30:25 +0000 (12:30 +0000)
* rtsfind.adb (RTE, RTE_Record_Component): In
Configurable_Run_Time_Mode, do not enable front-end inlining.

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* g-socthi-vms.adb: Remove now unnecessary WITH clause on
System.Address_To_Access_Conversions.

2009-04-20  Ed Schonberg  <schonberg@adacore.com>

* sem.adb: Guard against ill-formed subunits.

2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>

* a-calfor.adb (Image): Subtract 0.5 from the sub second component only
when it is positive.  This avoids a potential constraint error raised
by the conversion to Natural.

2009-04-20  Thomas Quinot  <quinot@adacore.com>

* einfo.ads: Minor comment rewording

* sem_aggr.adb: Minor comment rewording

* sem_ch3.adb, sem_ch6.adb: Minor reformatting

2009-04-20  Pascal Obry  <obry@adacore.com>

* adaint.c (__gnat_is_readable_file): Check for file existence
when not using ACL (always the case on remote drives).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146405 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/a-calfor.adb
gcc/ada/einfo.ads
gcc/ada/g-socthi-vms.adb
gcc/ada/rtsfind.adb
gcc/ada/sem.adb
gcc/ada/sem_aggr.adb

index 0cb7855..ddab7af 100644 (file)
@@ -1,3 +1,58 @@
+2009-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * rtsfind.adb (RTE, RTE_Record_Component): In
+       Configurable_Run_Time_Mode, do not enable front-end inlining.
+
+2009-04-20  Thomas Quinot  <quinot@adacore.com>
+
+       * g-socthi-vms.adb: Remove now unnecessary WITH clause on
+       System.Address_To_Access_Conversions.
+
+2009-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem.adb: Guard against ill-formed subunits.
+
+2009-04-20  Bob Duff  <duff@adacore.com>
+
+       * output.adb (Flush_Buffer): Do not indent blank lines.
+       (Ignore_Output): New procedure for output suppression.
+
+2009-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-calfor.adb (Image): Subtract 0.5 from the sub second component only
+       when it is positive.  This avoids a potential constraint error raised
+       by the conversion to Natural.
+
+2009-04-20  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment
+       involves a target that has a specified address, don't set Forward_OK
+       and Backward_OK to False if the rhs is an aggregate, since overlap
+       can't occur.
+
+2009-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8,adb (Analyze_Object_Renaming): Reject ambiguous expressions
+       in an object renaming declaration when the expected type is an
+       anonymous access type.
+
+       * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential
+       ambiguity when one interpretation is an anonymous access type and the
+       other is a named access type, and the context itself is anonymous
+
+2009-04-20  Thomas Quinot  <quinot@adacore.com>
+
+       * einfo.ads: Minor comment rewording
+
+       * sem_aggr.adb: Minor comment rewording
+
+       * sem_ch3.adb, sem_ch6.adb: Minor reformatting
+
+2009-04-20  Pascal Obry  <obry@adacore.com>
+
+       * adaint.c (__gnat_is_readable_file): Check for file existence
+       when not using ACL (always the case on remote drives).
+
 2009-04-20  Robert Dewar  <dewar@adacore.com>
 
        * sinfo.ads: Minor comment fixes
index 83d9cdc..10e9617 100644 (file)
@@ -170,7 +170,12 @@ package body Ada.Calendar.Formatting is
 
       --  Prevent rounding when converting to natural
 
-      Sub_Second := Sub_Second * 100.0 - 0.5;
+      Sub_Second := Sub_Second * 100.0;
+
+      if Sub_Second > 0.0 then
+         Sub_Second := Sub_Second - 0.5;
+      end if;
+
       SS_Nat := Natural (Sub_Second);
 
       declare
@@ -249,7 +254,12 @@ package body Ada.Calendar.Formatting is
 
       --  Prevent rounding when converting to natural
 
-      Sub_Second := Sub_Second * 100.0 - 0.5;
+      Sub_Second := Sub_Second * 100.0;
+
+      if Sub_Second > 0.0 then
+         Sub_Second := Sub_Second - 0.5;
+      end if;
+
       SS_Nat := Natural (Sub_Second);
 
       declare
index 87bddb9..c0ee644 100644 (file)
@@ -2637,7 +2637,7 @@ package Einfo is
 --       Present in all entities. Set only in record types that represent the
 --       underlying record view. This view is built for derivations of types
 --       with unknown discriminants; it is a record with the same structure
---       than its corresponding record type, and whose parent is the full view
+--       as its corresponding record type, but whose parent is the full view
 --       of the parent in the original type extension.
 
 --    Is_Unsigned_Type (Flag144)
index ab14d8e..afadbb2 100644 (file)
 --                                                                          --
 ------------------------------------------------------------------------------
 
---  Temporary version for Alpha/VMS
+--  This is the version for OpenVMS
 
 with GNAT.OS_Lib; use GNAT.OS_Lib;
 with GNAT.Task_Lock;
 
 with Interfaces.C; use Interfaces.C;
 
-with System.Address_To_Access_Conversions;
-
 package body GNAT.Sockets.Thin is
 
    Non_Blocking_Sockets : aliased Fd_Set;
-   --  When this package is initialized with Process_Blocking_IO set
-   --  to True, sockets are set in non-blocking mode to avoid blocking
-   --  the whole process when a thread wants to perform a blocking IO
-   --  operation. But the user can also set a socket in non-blocking
-   --  mode by purpose. In order to make a difference between these
-   --  two situations, we track the origin of non-blocking mode in
-   --  Non_Blocking_Sockets. If S is in Non_Blocking_Sockets, it has
-   --  been set in non-blocking mode by the user.
+   --  When this package is initialized with Process_Blocking_IO set to True,
+   --  sockets are set in non-blocking mode to avoid blocking the whole process
+   --  when a thread wants to perform a blocking IO operation. But the user can
+   --  also set a socket in non-blocking mode by purpose. In order to make a
+   --  difference between these two situations, we track the origin of
+   --  non-blocking mode in Non_Blocking_Sockets. If S is in
+   --  Non_Blocking_Sockets, it has been set in non-blocking mode by the user.
 
    Quantum : constant Duration := 0.2;
-   --  When SOSC.Thread_Blocking_IO is False, we set sockets in
-   --  non-blocking mode and we spend a period of time Quantum between
-   --  two attempts on a blocking operation.
+   --  When SOSC.Thread_Blocking_IO is False, we set sockets to non-blocking
+   --  mode and we spend a period of time Quantum between two attempts on a
+   --  blocking operation.
 
    Unknown_System_Error : constant C.Strings.chars_ptr :=
                             C.Strings.New_String ("Unknown system error");
index fbe6d45..774cce1 100644 (file)
@@ -950,9 +950,6 @@ package body Rtsfind is
       --  and it prevents spurious visibility conflicts between use-visible
       --  user entities, and entities in run-time packages.
 
-      --  In configurable run-time mode, subprograms marked Inline_Always must
-      --  be inlined, so in the case we retain the Front_End_Inlining mode.
-
       Save_Front_End_Inlining : Boolean;
 
       procedure Check_RPC;
@@ -1068,7 +1065,7 @@ package body Rtsfind is
       end if;
 
       Save_Front_End_Inlining := Front_End_Inlining;
-      Front_End_Inlining := Configurable_Run_Time_Mode;
+      Front_End_Inlining := False;
 
       --  Load unit if unit not previously loaded
 
@@ -1187,9 +1184,6 @@ package body Rtsfind is
       --  is both efficient, and it prevents spurious visibility conflicts
       --  between use-visible user entities, and entities in run-time packages.
 
-      --  In configurable run-time mode, subprograms marked Inline_Always must
-      --  be inlined, so in the case we retain the Front_End_Inlining mode.
-
       Save_Front_End_Inlining : Boolean;
 
    begin
@@ -1198,7 +1192,7 @@ package body Rtsfind is
       --  declarations.
 
       Save_Front_End_Inlining := Front_End_Inlining;
-      Front_End_Inlining      := Configurable_Run_Time_Mode;
+      Front_End_Inlining      := False;
 
       --  Load unit if unit not previously loaded
 
index 5e2fa1b..ce3cb4c 100644 (file)
@@ -1401,13 +1401,15 @@ package body Sem is
          --  Comp_Unit_List, if appropriate. This is done after analysis, so if
          --  this unit depends on some others, they have already been
          --  appended. We ignore bodies, except for the main unit itself, and
-         --  everything those bodies depend upon.
+         --  everything those bodies depend upon. We have also to guard against
+         --  ill-formed subunits that have an improper context.
 
          if Ignore_Comp_Units then
             Do_Analyze;
             pragma Assert (Ignore_Comp_Units);  --  still
 
-         elsif Nkind (Unit (Comp_Unit)) in N_Proper_Body
+         elsif Present (Comp_Unit)
+           and then  Nkind (Unit (Comp_Unit)) in N_Proper_Body
            and then not In_Extended_Main_Source_Unit (Comp_Unit)
          then
             Ignore_Comp_Units := True;
index e29bca9..5078bc3 100644 (file)
@@ -2427,8 +2427,8 @@ package body Sem_Aggr is
          Ancestor_Typ := Etype (Ancestor);
          Loc          := Sloc (Ancestor);
 
-         --  In case of private types with unknown discriminants use the
-         --  underlying record view if it is available
+         --  For a private type with unknown discriminants, use the underlying
+         --  record view if it is available.
 
          if Has_Unknown_Discriminants (Ancestor_Typ)
            and then Present (Full_View (Ancestor_Typ))