Replace heavy address clause by 'Unrestricted_Access...
authorArnaud Charlet <charlet@gcc.gnu.org>
Tue, 27 May 2008 11:55:54 +0000 (13:55 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 27 May 2008 11:55:54 +0000 (13:55 +0200)
Replace heavy address clause by 'Unrestricted_Access, cleaner and more portable
across GNAT targets, since this kind of address clause is not supported by
VM back-ends (.NET/JGNAT).

From-SVN: r136020

gcc/ada/a-textio.adb
gcc/ada/a-witeio.adb
gcc/ada/a-ztexio.adb
gcc/ada/s-direio.adb

index c2f0f8b470e48ebcad4d11f74f081641d7239e6b..cc5a93bb07624bf338e5067475707820cf1445a0 100644 (file)
@@ -147,11 +147,8 @@ package body Ada.Text_IO is
    -----------
 
    procedure Close (File : in out File_Type) is
-      AFCB : aliased AP;
-      for AFCB'Address use File'Address;
-      pragma Import (Ada, AFCB);
    begin
-      FIO.Close (AFCB'Access);
+      FIO.Close (AP (File)'Unrestricted_Access);
    end Close;
 
    ---------
@@ -249,11 +246,8 @@ package body Ada.Text_IO is
    ------------
 
    procedure Delete (File : in out File_Type) is
-      AFCB : aliased AP;
-      for AFCB'Address use File'Address;
-      pragma Import (Ada, AFCB);
    begin
-      FIO.Delete (AFCB'Access);
+      FIO.Delete (AP (File)'Unrestricted_Access);
    end Delete;
 
    -----------------
@@ -1579,9 +1573,6 @@ package body Ada.Text_IO is
      (File : in out File_Type;
       Mode : File_Mode)
    is
-      AFCB : aliased AP;
-      for AFCB'Address use File'Address;
-      pragma Import (Ada, AFCB);
    begin
       --  Don't allow change of mode for current file (RM A.10.2(5))
 
@@ -1594,7 +1585,7 @@ package body Ada.Text_IO is
       end if;
 
       Terminate_Line (File);
-      FIO.Reset (AFCB'Access, To_FCB (Mode));
+      FIO.Reset (AP (File)'Unrestricted_Access, To_FCB (Mode));
       File.Page := 1;
       File.Line := 1;
       File.Col  := 1;
@@ -1605,12 +1596,9 @@ package body Ada.Text_IO is
    end Reset;
 
    procedure Reset (File : in out File_Type) is
-      AFCB : aliased AP;
-      for AFCB'Address use File'Address;
-      pragma Import (Ada, AFCB);
    begin
       Terminate_Line (File);
-      FIO.Reset (AFCB'Access);
+      FIO.Reset (AP (File)'Unrestricted_Access);
       File.Page := 1;
       File.Line := 1;
       File.Col  := 1;
index b30c6f52753ab40e3e06eb2dd89e3c090a7e4143..1a4b0f5e0e7d7afa1088558735480de51dabcf6e 100644 (file)
@@ -133,11 +133,8 @@ package body Ada.Wide_Text_IO is
    -----------
 
    procedure Close (File : in out File_Type) is
-      AFCB : aliased AP;
-      for AFCB'Address use File'Address;
-      pragma Import (Ada, AFCB);
    begin
-      FIO.Close (AFCB'Access);
+      FIO.Close (AP (File)'Unrestricted_Access);
    end Close;
 
    ---------
@@ -235,11 +232,8 @@ package body Ada.Wide_Text_IO is
    ------------
 
    procedure Delete (File : in out File_Type) is
-      AFCB : aliased AP;
-      for AFCB'Address use File'Address;
-      pragma Import (Ada, AFCB);
    begin
-      FIO.Delete (AFCB'Access);
+      FIO.Delete (AP (File)'Unrestricted_Access);
    end Delete;
 
    -----------------
@@ -1314,9 +1308,6 @@ package body Ada.Wide_Text_IO is
      (File : in out File_Type;
       Mode : File_Mode)
    is
-      AFCB : aliased AP;
-      for AFCB'Address use File'Address;
-      pragma Import (Ada, AFCB);
    begin
       --  Don't allow change of mode for current file (RM A.10.2(5))
 
@@ -1329,7 +1320,7 @@ package body Ada.Wide_Text_IO is
       end if;
 
       Terminate_Line (File);
-      FIO.Reset (AFCB'Access, To_FCB (Mode));
+      FIO.Reset (AP (File)'Unrestricted_Access, To_FCB (Mode));
       File.Page := 1;
       File.Line := 1;
       File.Col  := 1;
@@ -1340,12 +1331,9 @@ package body Ada.Wide_Text_IO is
    end Reset;
 
    procedure Reset (File : in out File_Type) is
-      AFCB : aliased AP;
-      for AFCB'Address use File'Address;
-      pragma Import (Ada, AFCB);
    begin
       Terminate_Line (File);
-      FIO.Reset (AFCB'Access);
+      FIO.Reset (AP (File)'Unrestricted_Access);
       File.Page := 1;
       File.Line := 1;
       File.Col  := 1;
index 8db57b9468951c9697a73db770ecaa1db4e37060..4bf70405c6766864de63579824a805f621ddc034 100644 (file)
@@ -133,11 +133,8 @@ package body Ada.Wide_Wide_Text_IO is
    -----------
 
    procedure Close (File : in out File_Type) is
-      AFCB : aliased AP;
-      for AFCB'Address use File'Address;
-      pragma Import (Ada, AFCB);
    begin
-      FIO.Close (AFCB'Access);
+      FIO.Close (AP (File)'Unrestricted_Access);
    end Close;
 
    ---------
@@ -235,11 +232,8 @@ package body Ada.Wide_Wide_Text_IO is
    ------------
 
    procedure Delete (File : in out File_Type) is
-      AFCB : aliased AP;
-      for AFCB'Address use File'Address;
-      pragma Import (Ada, AFCB);
    begin
-      FIO.Delete (AFCB'Access);
+      FIO.Delete (AP (File)'Unrestricted_Access);
    end Delete;
 
    -----------------
@@ -1314,9 +1308,6 @@ package body Ada.Wide_Wide_Text_IO is
      (File : in out File_Type;
       Mode : File_Mode)
    is
-      AFCB : aliased AP;
-      for AFCB'Address use File'Address;
-      pragma Import (Ada, AFCB);
    begin
       --  Don't allow change of mode for current file (RM A.10.2(5))
 
@@ -1329,7 +1320,7 @@ package body Ada.Wide_Wide_Text_IO is
       end if;
 
       Terminate_Line (File);
-      FIO.Reset (AFCB'Access, To_FCB (Mode));
+      FIO.Reset (AP (File)'Unrestricted_Access, To_FCB (Mode));
       File.Page := 1;
       File.Line := 1;
       File.Col  := 1;
@@ -1340,12 +1331,9 @@ package body Ada.Wide_Wide_Text_IO is
    end Reset;
 
    procedure Reset (File : in out File_Type) is
-      AFCB : aliased AP;
-      for AFCB'Address use File'Address;
-      pragma Import (Ada, AFCB);
    begin
       Terminate_Line (File);
-      FIO.Reset (AFCB'Access);
+      FIO.Reset (AP (File)'Unrestricted_Access);
       File.Page := 1;
       File.Line := 1;
       File.Col  := 1;
index fc4bd8e9d9af7cebde9be289b334de30c5379d6a..328051c125a07fdccf6682b7a632879ea4472954 100644 (file)
@@ -251,21 +251,17 @@ package body System.Direct_IO is
    -----------
 
    procedure Reset (File : in out File_Type; Mode : FCB.File_Mode) is
-      AFCB : aliased AP;
-      for AFCB'Address use File'Address;
-      pragma Import (Ada, AFCB);
+      pragma Unmodified (File);
    begin
-      FIO.Reset (AFCB'Access, Mode);
+      FIO.Reset (AP (File)'Unrestricted_Access, Mode);
       File.Index := 1;
       File.Last_Op := Op_Read;
    end Reset;
 
    procedure Reset (File : in out File_Type) is
-      AFCB : aliased AP;
-      for AFCB'Address use File'Address;
-      pragma Import (Ada, AFCB);
+      pragma Unmodified (File);
    begin
-      FIO.Reset (AFCB'Access);
+      FIO.Reset (AP (File)'Unrestricted_Access);
       File.Index := 1;
       File.Last_Op := Op_Read;
    end Reset;