[multiple changes]

2014-10-10  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb: Minor code reorganization.

2014-10-10  Pat Rogers  <rogers@adacore.com>

	* gnat_rm.texi: Text now indicates pragma No_Run_Time is not
	for users.

2014-10-10  Vadim Godunko  <godunko@adacore.com>

	* a-coinho-shared.adb: Add minor comment.
	* a-stzmap.adb (To_Sequence): Compute size of result array.

From-SVN: r216081
This commit is contained in:
Arnaud Charlet 2014-10-10 15:28:21 +02:00
parent d56f4479e6
commit 80363c2f0b
5 changed files with 43 additions and 18 deletions

View file

@ -1,3 +1,17 @@
2014-10-10 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb: Minor code reorganization.
2014-10-10 Pat Rogers <rogers@adacore.com>
* gnat_rm.texi: Text now indicates pragma No_Run_Time is not
for users.
2014-10-10 Vadim Godunko <godunko@adacore.com>
* a-coinho-shared.adb: Add minor comment.
* a-stzmap.adb (To_Sequence): Compute size of result array.
2014-10-10 Javier Miranda <miranda@adacore.com>
* exp_ch3.adb (Build_Init_Procedure): Complete the condition of an

View file

@ -25,6 +25,13 @@
-- <http://www.gnu.org/licenses/>. --
------------------------------------------------------------------------------
-- Note: special attention must be paid to the case of simultaneous access
-- to internal shared objects and elements by difference tasks. The Reference
-- counter of internal shared object is the only component protected using
-- atomic operations; other components and elements can be modified only when
-- reference counter is equal to one (so there are no other references to this
-- internal shared object and element).
with Ada.Unchecked_Deallocation;
package body Ada.Containers.Indefinite_Holders is

View file

@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
-- Copyright (C) 1992-2014, 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- --
@ -570,20 +570,25 @@ package body Ada.Strings.Wide_Wide_Maps is
function To_Sequence
(Set : Wide_Wide_Character_Set) return Wide_Wide_Character_Sequence
is
SS : constant Wide_Wide_Character_Ranges_Access := Set.Set;
Result : Wide_Wide_String (Positive range 1 .. 2 ** 16);
N : Natural := 0;
SS : constant Wide_Wide_Character_Ranges_Access := Set.Set;
N : Natural := 0;
Count : Natural := 0;
begin
for J in SS'Range loop
for K in SS (J).Low .. SS (J).High loop
N := N + 1;
Result (N) := K;
end loop;
Count :=
Count + (Wide_Wide_Character'Pos (SS (J).High) -
Wide_Wide_Character'Pos (SS (J).Low) + 1);
end loop;
return Result (1 .. N);
return Result : Wide_Wide_String (1 .. Count) do
for J in SS'Range loop
for K in SS (J).Low .. SS (J).High loop
N := N + 1;
Result (N) := K;
end loop;
end loop;
end return;
end To_Sequence;
------------

View file

@ -4748,11 +4748,9 @@ pragma No_Run_Time;
@noindent
This is an obsolete configuration pragma that historically was used to
setup what is now called the "zero footprint" library. It causes any
library units outside this basic library to be ignored. The use of
this pragma has been superseded by the general configurable run-time
capability of @code{GNAT} where the compiler takes into account whatever
units happen to be accessible in the library.
set up a runtime library with no object code. It is now used only for
internal testing. The pragma has been superseded by the reconfigurable
runtime capability of @code{GNAT}.
@node Pragma No_Strict_Aliasing
@unnumberedsec Pragma No_Strict_Aliasing

View file

@ -10706,10 +10706,11 @@ package body Sem_Ch13 is
Set_Has_Inheritable_Invariants (Typ);
end if;
-- If the full view of the type is a scalar type or array type, the
-- implicit base type created for it has the same invariant.
-- If we have a subtype with invariants, whose base type does not have
-- invariants, copy these invariants to the base type. This happens for
-- the case of implicit base types created for scalar and array types.
elsif Has_Invariants (Typ) and then Base_Type (Typ) /= Typ
elsif Has_Invariants (Typ)
and then not Has_Invariants (Base_Type (Typ))
then
Set_Has_Invariants (Base_Type (Typ));