+2012-10-29 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Clarify documentation of attribute
+ Ignore_Source_Sub_Dirs.
+
+2012-10-29 Robert Dewar <dewar@adacore.com>
+
+ * g-sechas.adb, g-sechas.ads, exp_ch9.adb, bindgen.adb, exp_dbug.adb,
+ exp_dbug.ads: Minor reformatting.
+
2012-10-29 Pascal Obry <obry@adacore.com>
* g-sechas.adb, g-sechas.ads: (Binary_Message_Digest): New subtype.
System_Restrictions_Used : Boolean := False;
-- Flag indicating whether the unit System.Restrictions is in the closure
- -- of the partition. This is set by Resolve_Binder_Options, and
- -- is used to determine whether or not to initialize the restrictions
- -- information in the body of the binder generated file (we do not want
- -- to do this unconditionally, since it drags in the System.Restrictions
- -- unit unconditionally, which is unpleasand, especially for ZFP etc.)
+ -- of the partition. This is set by Resolve_Binder_Options, and is used
+ -- to determine whether or not to initialize the restrictions information
+ -- in the body of the binder generated file (we do not want to do this
+ -- unconditionally, since it drags in the System.Restrictions unit
+ -- unconditionally, which is unpleasand, especially for ZFP etc.)
Dispatching_Domains_Used : Boolean := False;
-- Flag indicating whether multiprocessor dispatching domains are used in
- -- the closure of the partition. This is set by Resolve_Binder_Options,
- -- and is used to call the routine to disallow the creation of new
- -- dispatching domains just before calling the main procedure from the
- -- environment task.
+ -- the closure of the partition. This is set by Resolve_Binder_Options, and
+ -- is used to call the routine to disallow the creation of new dispatching
+ -- domains just before calling the main procedure from the environment
+ -- task.
System_Tasking_Restricted_Stages_Used : Boolean := False;
-- Flag indicating whether the unit System.Tasking.Restricted.Stages is in
----------------------------
procedure Resolve_Binder_Options is
+
procedure Check_Package (Var : in out Boolean; Name : String);
- -- Set Var to true iff the current identifier in Namet is Name.
- -- Do nothing if it doesn't match. This procedure is just an helper
- -- to avoid to explicitely deal with length.
+ -- Set Var to true iff the current identifier in Namet is Name. Do
+ -- nothing if it doesn't match. This procedure is just an helper to
+ -- avoid to explicitely deal with length.
-------------------
-- Check_Package --
Var := True;
end if;
end Check_Package;
+
+ -- Start of processing for Check_Package
+
begin
for E in Elab_Order.First .. Elab_Order.Last loop
Get_Name_String (Units.Table (Elab_Order.Table (E)).Uname);
-- This is not a perfect approach, but is the current protocol
-- between the run-time and the binder to indicate that tasking is
- -- used: system.os_interface should always be used by any tasking
+ -- used: System.OS_Interface should always be used by any tasking
-- application.
Check_Package (With_GNARL, "system.os_interface%s");
Prefix => Make_Identifier (Loc, New_External_Name (Tnam, 'E')),
Attribute_Name => Name_Unchecked_Access));
- if not Restricted_Profile then
- -- Chain parameter. This is a reference to the _Chain parameter of
- -- the initialization procedure. There is no chain in restricted
- -- profile.
+ -- Chain parameter. This is a reference to the Chain parameter of the
+ -- initialization procedure. There is no chain in restricted profile.
+ if not Restricted_Profile then
Append_To (Args, Make_Identifier (Loc, Name_uChain));
end if;
end if;
end Get_Variant_Encoding;
- ------------------------------------------
- -- Build_Subprogram_Instance_Renamings --
- ------------------------------------------
+ -----------------------------------------
+ -- Build_Subprogram_Instance_Renamings --
+ -----------------------------------------
procedure Build_Subprogram_Instance_Renamings
(N : Node_Id;
-----------------------------------------------
procedure Build_Subprogram_Instance_Renamings
- (N : Node_Id;
- Wrapper : Entity_Id);
-
+ (N : Node_Id;
+ Wrapper : Entity_Id);
-- The debugger has difficulties in recovering the value of actuals of an
-- elementary type, from within the body of a subprogram instantiation.
-- This is because such actuals generate an object declaration that is
-- placed within the wrapper package of the instance, and the entity in
-- these declarations is encoded in a complex way that GDB does not handle
- -- well. These new renaming declarations appear within the body of the
+ -- well. These new renaming declarations appear within the body of the
-- subprogram, and are redundant from a visibility point of view, but They
-- should have no measurable performance impact, and require no special
-- decoding in the debugger.
-- --
-- B o d y --
-- --
--- Copyright (C) 2009-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 2009-2012, 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- --
-- Final --
-----------
- -- Once a complete message has been processed, it is padded with one
- -- 1 bit followed by enough 0 bits so that the last block is
- -- 2 * Word'Size bits short of being completed. The last 2 * Word'Size
- -- bits are set to the message size in bits (excluding padding).
+ -- Once a complete message has been processed, it is padded with one 1
+ -- bit followed by enough 0 bits so that the last block is 2 * Word'Size
+ -- bits short of being completed. The last 2 * Word'Size bits are set to
+ -- the message size in bits (excluding padding).
procedure Final
(C : Context;
-- --
-- S p e c --
-- --
--- Copyright (C) 2009-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 2009-2012, 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- --
-- Use GNAT.MD5 and GNAT.SHA* instead.
with Ada.Streams; use Ada.Streams;
+
with Interfaces;
+
with System;
package GNAT.Secure_Hashes is
procedure To_Hash
(H : State;
H_Bits : out Stream_Element_Array);
- -- Convert H to stream representation with the given bit order.
- -- If H_Bits is smaller than the internal hash state, then the state
+ -- Convert H to stream representation with the given bit order. If
+ -- H_Bits is smaller than the internal hash state, then the state
-- is truncated.
end Hash_Function_State;
- -- Generic hashing framework:
- -- The user interface for each implemented secure hash function is an
- -- instance of this generic package.
+ -- Generic hashing framework: The user interface for each implemented
+ -- secure hash function is an instance of this generic package.
generic
Block_Words : Natural;
function Digest (S : String) return Binary_Message_Digest;
function Wide_Digest (W : Wide_String) return Binary_Message_Digest;
function Digest
- (A : Stream_Element_Array) return Binary_Message_Digest;
+ (A : Stream_Element_Array) return Binary_Message_Digest;
-- These functions are equivalent to the corresponding Update (or
-- Wide_Update) on a default initialized Context, followed by Digest
-- on the resulting Context.
-- Return hash for the data accumulated with C in hexadecimal
-- representation.
- function Digest (S : String) return Message_Digest;
- function Wide_Digest (W : Wide_String) return Message_Digest;
+ function Digest (S : String) return Message_Digest;
+ function Wide_Digest (W : Wide_String) return Message_Digest;
function Digest (A : Stream_Element_Array) return Message_Digest;
-- These functions are equivalent to the corresponding Update (or
-- Wide_Update) on a default initialized Context, followed by Digest
It is often desirable to remove, from the source directories, directory
subtrees rooted at some subdirectories. An example is the subdirectories
created by a Version Control System such as Subversion that creates directory
- subtrees .svn/**. To do that, attribute @b{Ignore_Source_Sub_Dirs} can be
- used. It specifies the list of simple file names for the root of these
- undesirable directory subtrees.
+ subtrees rooted at subdirectories ".svn". To do that, attribute
+ @b{Ignore_Source_Sub_Dirs} can be used. It specifies the list of simple
+ file names for the roots of these undesirable directory subtrees.
+
+@smallexample
+ @b{for} Source_Dirs @b{use} ("./**");
+ @b{for} Ignore_Source_Sub_Dirs @b{use} (".svn");
+@end smallexample
@end itemize