+2014-07-31 Pascal Obry <obry@adacore.com>
+
+ * s-fileio.adb: Remove obsolete comment.
+
+2014-07-31 Vincent Celier <celier@adacore.com>
+
+ * a-strbou.ads ("=" (Bounded_String, Bounded_String): Add
+ overriding keyword before function to avoid error when compiler
+ is called with -gnatyO (check overriding indicators).
+
+2014-07-31 Tucker Taft <taft@adacore.com>
+
+ * gnat_ugn.texi: Add a paragraph pointing the reader
+ to the "plugins" example.
+
+2014-07-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * freeze.adb (Freeze_Expression): Document the
+ purpose of the parent chain traversal.
+
2014-07-31 Robert Dewar <dewar@adacore.com>
* checks.ads, checks.adb (Activate_Overflow_Check): Do not set flag for
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, 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 --
High : Natural)
renames Super_Slice;
- function "="
+ overriding function "="
(Left : Bounded_String;
Right : Bounded_String) return Boolean
renames Equal;
return;
end if;
- -- Loop for looking at the right place to insert the freeze nodes,
- -- exiting from the loop when it is appropriate to insert the freeze
- -- node before the current node P.
-
- -- Also checks some special exceptions to the freezing rules. These
- -- cases result in a direct return, bypassing the freeze action.
+ -- Examine the enclosing context by climbing the parent chain. The
+ -- traversal serves two purposes - to detect scenarios where freezeing
+ -- is not needed and to find the proper insertion point for the freeze
+ -- nodes. Although somewhat similar to Insert_Actions, this traversal
+ -- is freezing semantics-sensitive. Inserting freeze nodes blindly in
+ -- the tree may result in types being frozen too early.
P := N;
loop
@end smallexample
@end itemize
+Note that you may also load a library dynamically at
+run time given its filename, as illustrated in the GNAT ``plugins'' example
+in the directory @file{share/examples/gnat/plugins} within the GNAT
+install area.
+
@node Stand-alone Ada Libraries
@section Stand-alone Ada Libraries
@cindex Stand-alone library, building, using
with Ada.Unchecked_Deallocation;
with Interfaces.C;
-with Interfaces.C_Streams; use Interfaces.C_Streams;
+with Interfaces.C_Streams; use Interfaces.C_Streams;
-with System.Case_Util; use System.Case_Util;
+with System.Case_Util; use System.Case_Util;
with System.CRTL;
with System.OS_Lib;
with System.Soft_Links;
Creat : Boolean;
Amethod : Character;
Fopstr : out Fopen_String);
- -- Determines proper open mode for a file to be opened in the given
- -- Ada mode. Text is true for a text file and false otherwise, and
- -- Creat is true for a create call, and False for an open call. The
- -- value stored in Fopstr is a nul-terminated string suitable for a
- -- call to fopen or freopen. Amethod is the character designating
- -- the access method from the Access_Method field of the FCB.
+ -- Determines proper open mode for a file to be opened in the given Ada
+ -- mode. Text is true for a text file and false otherwise, and Creat is
+ -- true for a create call, and False for an open call. The value stored
+ -- in Fopstr is a nul-terminated string suitable for a call to fopen or
+ -- freopen. Amethod is the character designating the access method from
+ -- the Access_Method field of the FCB.
function Errno_Message
(Name : String;
-- Finalize --
--------------
- -- Note: we do not need to worry about locking against multiple task access
- -- in this routine, since it is called only from the environment task just
- -- before terminating execution.
-
procedure Finalize (V : in out File_IO_Clean_Up_Type) is
pragma Warnings (Off, V);