+2019-12-12 Piotr Trojanek <trojanek@adacore.com>
+
+ * libgnat/g-altive.ads: Fix typo in comment.
+ * bindo-graphs.adb: Fix repeated words in comment.
+ * exp_ch4.adb: Likewise.
+ * exp_ch5.adb: Likewise.
+ * exp_ch7.adb: Likewise.
+ * exp_pakd.adb: Likewise.
+ * exp_unst.adb: Likewise.
+ * exp_util.adb: Likewise.
+ * freeze.adb: Likewise.
+ * inline.adb: Likewise.
+ * layout.adb: Likewise.
+ * sem_ch12.adb: Likewise.
+ * sem_ch13.adb: Likewise.
+ * sem_ch4.adb: Likewise.
+ * sem_ch9.adb: Likewise.
+ * sem_elab.adb: Likewise.
+ * doc/gnat_ugn/gnat_and_program_execution.rst: Fix repeated
+ words in user documentation.
+ * gnat_ugn.texi: Regenerate.
+
2019-12-12 Eric Botcazou <ebotcazou@adacore.com>
* exp_attr.adb (Expand_Size_Attribute): Look directly at the
-- successor and predecessor are kept consistent in both cases, and
-- Add_Edge_With_Return will prevent the creation of the second edge.
- -- Assume that that no Body_Before_Spec is necessary
+ -- Assume that no Body_Before_Spec is necessary
Edge := No_Library_Graph_Edge;
Profiling
=========
-This section describes how to use the the ``gprof`` profiler tool on Ada
-programs.
+This section describes how to use the ``gprof`` profiler tool on Ada programs.
.. index:: ! gprof
.. index:: Profiling
-- The case where the target type is an anonymous access type of
-- a discriminant is excluded, because the level of such a type
-- depends on the context and currently the level returned for such
- -- types is zero, resulting in warnings about about check failures
+ -- types is zero, resulting in warnings about check failures
-- in certain legal cases involving class-wide interfaces as the
-- designated type (some cases, such as return statements, are
-- checked at run time, but not clear if these are handled right
-- Remove the unchecked expression node from the tree. Its job was simply
-- to make sure that its constituent expression was handled with checks
- -- off, and now that that is done, we can remove it from the tree, and
- -- indeed must, since Gigi does not expect to see these nodes.
+ -- off, and now that is done, we can remove it from the tree, and indeed
+ -- must, since Gigi does not expect to see these nodes.
procedure Expand_N_Unchecked_Expression (N : Node_Id) is
Exp : constant Node_Id := Expression (N);
end if;
-- Reset the Analyzed flag, because the bounds of the index
- -- type itself may be universal, and must must be reanalyzed
- -- to acquire the proper type for the back end.
+ -- type itself may be universal, and must be reanalyzed to
+ -- acquire the proper type for the back end.
Set_Analyzed (Cleft_Lo, False);
Set_Analyzed (Cright_Lo, False);
procedure Check_Unnesting_In_Decls_Or_Stmts (Decls_Or_Stmts : List_Id);
-- Similarly, the declarations or statements in library-level packages may
- -- have created blocks blocks with nested subprograms. Such a block must be
+ -- have created blocks with nested subprograms. Such a block must be
-- transformed into a procedure followed by a call to it, so that unnesting
-- can handle uplevel references within these nested subprograms (typically
-- subprograms that handle finalization actions). This also applies to
Silly_Boolean_Array_Xor_Test (N, R, Rtyp);
end if;
- -- Now that that silliness is taken care of, get packed array type
+ -- Now that silliness is taken care of, get packed array type
Convert_To_PAT_Type (L);
Convert_To_PAT_Type (R);
procedure Note_Uplevel_Bound (N : Node_Id; Ref : Node_Id) is
begin
-- Entity name case. Make sure that the entity is declared
- -- in a subprogram. This may not be the case for for a type
- -- in a loop appearing in a precondition.
+ -- in a subprogram. This may not be the case for a type in a
+ -- loop appearing in a precondition.
-- Exclude explicitly discriminants (that can appear
-- in bounds of discriminated components).
end if;
-- Do not generate a check within an internal subprogram (stream
- -- functions and the like, including including predicate functions).
+ -- functions and the like, including predicate functions).
if Within_Internal_Subprogram then
return Make_Null_Statement (Loc);
-- In GNATprove mode this is where we can collect the inherited
-- conditions, because we do not create the Check pragmas that
- -- normally convey the the modified class-wide conditions on
+ -- normally convey the modified class-wide conditions on
-- overriding operations.
if GNATprove_Mode then
@copying
@quotation
-GNAT User's Guide for Native Platforms , Oct 09, 2019
+GNAT User's Guide for Native Platforms , Dec 10, 2019
AdaCore
@section Profiling
-This section describes how to use the the @code{gprof} profiler tool on Ada
-programs.
+This section describes how to use the @code{gprof} profiler tool on Ada programs.
@geindex gprof
-- the call is in the main compilation unit, Caller is Empty.
procedure Add_Inlined_Instance (E : Entity_Id);
- -- Add instance E to the list of of inlined instances for the unit
+ -- Add instance E to the list of inlined instances for the unit
procedure Add_Inlined_Subprogram (E : Entity_Id);
-- Add subprogram E to the list of inlined subprograms for the unit
end if;
-- Check components. If any component requires a higher alignment,
- -- then we set that higher alignment in any case. Don't do this if
- -- we have Optimize_Alignment set to Space. Note that that covers
- -- the case of packed records, where we already set alignment to 1.
+ -- then we set that higher alignment in any case. Don't do this if we
+ -- have Optimize_Alignment set to Space. Note that covers the case of
+ -- packed records, where we already set alignment to 1.
if not Optimize_Alignment_Space (E) then
declare
-- The central idea for the Ada bindings is to leverage on the existing GCC
-- architecture, with the introduction of a Low_Level_Vectors abstraction.
--- This abstaction acts as a representative of the vector-types and builtins
+-- This abstraction acts as a representative of the vector-types and builtins
-- compiler interface for either the Hard or the Soft case.
-- For the Hard binding, Low_Level_Vectors exposes data types with a GCC
-- the case of nested instances for the time being.
-- When we generate a nested instance body, calling stubs for any
- -- relevant subprogram will be be inserted immediately after the
+ -- relevant subprogram will be inserted immediately after the
-- subprogram declarations, and will take precedence over the
-- subsequent (original) body. (The stub and original body will be
-- complete homographs, but this is permitted in an instance).
Instantiating => True),
Name => New_Occurrence_Of (Anon_Id, Loc));
- -- The generic may be a a child unit. The renaming needs an
- -- identifier with the proper name.
+ -- The generic may be a child unit. The renaming needs an identifier
+ -- with the proper name.
Set_Defining_Unit_Name (Specification (Unit_Renaming),
Make_Defining_Identifier (Loc, Chars (Gen_Unit)));
-- 1 .. 4 3 .. 6 1 3
-- 4 .. 7 0 .. 3 4 0
- -- The rule is that the first bit is is obtained by
- -- subtracting the old ending bit from storage_unit - 1.
+ -- The rule is that the first bit is obtained by subtracting
+ -- the old ending bit from storage_unit - 1.
Set_Component_Bit_Offset (Comp,
(Storage_Unit_Offset * System_Storage_Unit) +
=>
-- Build predicate function specification and preanalyze
-- expression after type replacement. The function
- -- declaration must be analyzed in the scope of the
- -- type, but the the expression can reference components
- -- and discriminants of the type.
+ -- declaration must be analyzed in the scope of the type,
+ -- but the expression can reference components and
+ -- discriminants of the type.
if No (Predicate_Function (E)) then
declare
-- there is only a limited view of it and there is nothing in
-- the context of the current unit that has required a regular
-- compilation of the unit containing the type. We recognize
- -- this unusual case by the fact that that unit is not analyzed.
+ -- this unusual case by the fact that unit is not analyzed.
-- Note that the call being analyzed is in a different unit from
-- the function declaration, and nothing indicates that the type
-- is a limited view.
Insert_After (N, Obj_Decl);
Mark_Rewrite_Insertion (Obj_Decl);
- -- Relocate aspect Part_Of from the the original single protected
+ -- Relocate aspect Part_Of from the original single protected
-- declaration to the anonymous object declaration. This emulates the
-- placement of an equivalent source pragma.
-- Types --
-----------
- -- The following type enumerates all possible Ghost mode mode kinds
+ -- The following type enumerates all possible Ghost mode kinds
type Extended_Ghost_Mode is
(Is_Ignored,
Output_Active_Scenarios (Attr, New_In_State);
end if;
- -- Treat the attribute an an immediate invocation of the target when
+ -- Treat the attribute an immediate invocation of the target when
-- switch -gnatd.o (conservative elaboration order for indirect
-- calls) is in effect. This has the following desirable effects:
--
function Find_Enclosing_Context (N : Node_Id) return Node_Id;
pragma Inline (Find_Enclosing_Context);
-- Return the nearest enclosing non-library-level or compilation unit
- -- node which which encapsulates arbitrary node N. Return Empty is no
- -- such context is available.
+ -- node which encapsulates arbitrary node N. Return Empty is no such
+ -- context is available.
function In_Nested_Context
(Outer : Node_Id;
Spec_Id : Entity_Id;
begin
- -- The the task type has already been expanded, it carries the
- -- procedure which emulates the behavior of the task body.
+ -- The task type has already been expanded, it carries the procedure
+ -- which emulates the behavior of the task body.
if Present (Task_Body_Id) then
Spec_Id := Task_Body_Id;
Spec_Id : Entity_Id;
begin
- -- The the task type has already been expanded, it carries the
- -- procedure which emulates the behavior of the task body.
+ -- The task type has already been expanded, it carries the procedure
+ -- which emulates the behavior of the task body.
if Present (Task_Body_Id) then
Spec_Id := Task_Body_Id;