* 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
+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
-- 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
-- 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
-- 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)
-- --
------------------------------------------------------------------------------
--- 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");
-- 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;
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
-- 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
-- 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
-- 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;
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))