aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2009-04-20 14:30:25 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2009-04-20 14:30:25 +0200
commit5987e59ca5bb18dc8eaa20e820e46fa6df59b6d4 (patch)
treeaeac84e846faee6687e9981c8ff36e2387111a9e
parent3c19e9be432611cd1be9f71a12984fa90919f5d3 (diff)
downloadgcc-5987e59ca5bb18dc8eaa20e820e46fa6df59b6d4.zip
gcc-5987e59ca5bb18dc8eaa20e820e46fa6df59b6d4.tar.gz
gcc-5987e59ca5bb18dc8eaa20e820e46fa6df59b6d4.tar.bz2
[multiple changes]
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 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). From-SVN: r146405
-rw-r--r--gcc/ada/ChangeLog55
-rw-r--r--gcc/ada/a-calfor.adb14
-rw-r--r--gcc/ada/einfo.ads2
-rw-r--r--gcc/ada/g-socthi-vms.adb25
-rw-r--r--gcc/ada/rtsfind.adb10
-rw-r--r--gcc/ada/sem.adb6
-rw-r--r--gcc/ada/sem_aggr.adb4
7 files changed, 87 insertions, 29 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 0cb7855..ddab7af 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -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
diff --git a/gcc/ada/a-calfor.adb b/gcc/ada/a-calfor.adb
index 83d9cdc..10e9617 100644
--- a/gcc/ada/a-calfor.adb
+++ b/gcc/ada/a-calfor.adb
@@ -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
diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads
index 87bddb9..c0ee644 100644
--- a/gcc/ada/einfo.ads
+++ b/gcc/ada/einfo.ads
@@ -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)
diff --git a/gcc/ada/g-socthi-vms.adb b/gcc/ada/g-socthi-vms.adb
index ab14d8e..afadbb2 100644
--- a/gcc/ada/g-socthi-vms.adb
+++ b/gcc/ada/g-socthi-vms.adb
@@ -31,31 +31,28 @@
-- --
------------------------------------------------------------------------------
--- 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");
diff --git a/gcc/ada/rtsfind.adb b/gcc/ada/rtsfind.adb
index fbe6d45..774cce1 100644
--- a/gcc/ada/rtsfind.adb
+++ b/gcc/ada/rtsfind.adb
@@ -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
diff --git a/gcc/ada/sem.adb b/gcc/ada/sem.adb
index 5e2fa1b..ce3cb4c 100644
--- a/gcc/ada/sem.adb
+++ b/gcc/ada/sem.adb
@@ -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;
diff --git a/gcc/ada/sem_aggr.adb b/gcc/ada/sem_aggr.adb
index e29bca9..5078bc3 100644
--- a/gcc/ada/sem_aggr.adb
+++ b/gcc/ada/sem_aggr.adb
@@ -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))