X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fada%2Fa-strunb.ads;h=334146665ae46a280c6d1ff071756480151fad5f;hb=4c97a37dc04bd1838ea3d099bebf2900e10322dd;hp=5755ed202aa0e9b6d725f9f8b5f35d8e5e838e36;hpb=3817baeb247b3239c00beb407e03e32cb06900c2;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ada/a-strunb.ads b/gcc/ada/a-strunb.ads index 5755ed202aa..334146665ae 100644 --- a/gcc/ada/a-strunb.ads +++ b/gcc/ada/a-strunb.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2005, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2011, 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 -- @@ -14,21 +14,19 @@ -- -- -- 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- -- --- ware Foundation; either version 2, or (at your option) any later ver- -- +-- ware Foundation; either version 3, or (at your option) any later ver- -- -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- --- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- --- for more details. You should have received a copy of the GNU General -- --- Public License distributed with GNAT; see file COPYING. If not, write -- --- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, -- --- Boston, MA 02110-1301, USA. -- +-- or FITNESS FOR A PARTICULAR PURPOSE. -- -- -- --- As a special exception, if other files instantiate generics from this -- --- unit, or you link this unit with other files to produce an executable, -- --- this unit does not by itself cause the resulting executable to be -- --- covered by the GNU General Public License. This exception does not -- --- however invalidate any other reasons why the executable file might be -- --- covered by the GNU Public License. -- +-- As a special exception under Section 7 of GPL version 3, you are granted -- +-- additional permissions described in the GCC Runtime Library Exception, -- +-- version 3.1, as published by the Free Software Foundation. -- +-- -- +-- You should have received a copy of the GNU General Public License and -- +-- a copy of the GCC Runtime Library Exception along with this program; -- +-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- +-- . -- -- -- -- GNAT was originally developed by the GNAT team at New York University. -- -- Extensive contributions were provided by Ada Core Technologies Inc. -- @@ -42,6 +40,7 @@ package Ada.Strings.Unbounded is pragma Preelaborate; type Unbounded_String is private; + pragma Preelaborable_Initialization (Unbounded_String); Null_Unbounded_String : constant Unbounded_String; @@ -260,6 +259,15 @@ package Ada.Strings.Unbounded is procedure Find_Token (Source : Unbounded_String; Set : Maps.Character_Set; + From : Positive; + Test : Membership; + First : out Positive; + Last : out Natural); + pragma Ada_2012 (Find_Token); + + procedure Find_Token + (Source : Unbounded_String; + Set : Maps.Character_Set; Test : Membership; First : out Positive; Last : out Natural); @@ -394,7 +402,6 @@ private Reference : String_Access := Null_String'Access; Last : Natural := 0; end record; - -- The Unbounded_String is using a buffered implementation to increase -- speed of the Append/Delete/Insert procedures. The Reference string -- pointer above contains the current string value and extra room at the @@ -403,6 +410,7 @@ private -- Reference (1 .. Last). pragma Stream_Convert (Unbounded_String, To_Unbounded, To_String); + -- Provide stream routines without dragging in Ada.Streams pragma Finalize_Storage_Only (Unbounded_String); -- Finalization is required only for freeing storage @@ -425,11 +433,5 @@ private Null_Unbounded_String : constant Unbounded_String := (AF.Controlled with Reference => Null_String'Access, - Last => 0); - -- Note: this declaration is illegal since library level controlled - -- objects are not allowed in preelaborated units. See AI-161 for a - -- discussion of this issue and an attempt to address it. Meanwhile, - -- what happens in GNAT is that this check is omitted for internal - -- implementation units (see check in sem_cat.adb). - + Last => 0); end Ada.Strings.Unbounded;