a-finali.ads (Ada.Finalization): Add missing pragma Remote_Types.
authorThomas Quinot <quinot@adacore.com>
Wed, 6 Jun 2007 10:18:51 +0000 (12:18 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 6 Jun 2007 10:18:51 +0000 (12:18 +0200)
2007-04-20  Thomas Quinot  <quinot@adacore.com>

* a-finali.ads (Ada.Finalization): Add missing pragma Remote_Types. The
presence of this categorization pragma is mandated by the language.
(Limited_Controlled): Add missing pragma Preelaborable_Initialization
for this type.

From-SVN: r125376

gcc/ada/a-finali.ads

index a663a0696dcd938a51d4e36c75918431ce74ef73..4e14409c5bbe55aae85016c762c2b23bcd0e08c6 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2006, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2007, 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 --
 --                                                                          --
 ------------------------------------------------------------------------------
 
+pragma Warnings (Off);
+--  System.Finalization_Root does not have category Remote_Types, but we
+--  allow it anyway.
 with System.Finalization_Root;
+pragma Warnings (On);
 
 package Ada.Finalization is
    pragma Preelaborate;
+   pragma Remote_Types;
 
    type Controlled is abstract tagged private;
    pragma Preelaborable_Initialization (Controlled);
@@ -48,7 +53,7 @@ package Ada.Finalization is
    procedure Finalize   (Object : in out Controlled);
 
    type Limited_Controlled is abstract tagged limited private;
-   pragma Preelaborable_Initialization (Controlled);
+   pragma Preelaborable_Initialization (Limited_Controlled);
 
    procedure Initialize (Object : in out Limited_Controlled);
    procedure Finalize   (Object : in out Limited_Controlled);