* g-dirope.ads, g-dirope.adb: (Dir_Type_Value): Moved to spec.
authorArnaud Charlet <charlet@adacore.com>
Wed, 26 Mar 2008 07:56:12 +0000 (07:56 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 26 Mar 2008 07:56:12 +0000 (08:56 +0100)
From-SVN: r133592

gcc/ada/ChangeLog
gcc/ada/g-dirope.adb
gcc/ada/g-dirope.ads

index f2853e8fa80902efeaf10bb66455fc75ba612af1..f8ef97c5a919b72ec2bf3f6d54e1da7c4f36bf01 100644 (file)
@@ -1,3 +1,7 @@
+2008-03-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * g-dirope.ads, g-dirope.adb: (Dir_Type_Value): Moved to spec.
+
 2008-03-26  Arnaud Charlet  <charlet@adacore.com>
 
        * a-witeio.adb: Fix problem with Current_Output (introduce Self).
index 774444d08266356d4daac66963277a11435a3492..0cccaba2cd2da3e3231deea97562a0e060697bc4 100644 (file)
@@ -46,10 +46,6 @@ package body GNAT.Directory_Operations is
 
    use Ada;
 
-   type Dir_Type_Value is new System.Address;
-   --  This is the low-level address directory structure as returned by the C
-   --  opendir routine.
-
    Filename_Max : constant Integer := 1024;
    --  1024 is the value of FILENAME_MAX in stdio.h
 
index 060c3c439d9efc5aec28575e03f8cc29eb6e5dbb..c489eccdedc1967b8e895b22d7cd0846141b4025 100644 (file)
@@ -43,6 +43,7 @@
 --  directory names (OpenVMS native directory format is not supported).
 --  Read individual entries for more specific notes on OpenVMS support.
 
+with System;
 with Ada.Strings.Maps;
 
 package GNAT.Directory_Operations is
@@ -254,7 +255,15 @@ package GNAT.Directory_Operations is
 
 private
 
-   type Dir_Type_Value;
+   type Dir_Type_Value is new System.Address;
+   --  Low-level address directory structure as returned by opendir in C
+   --
+   --  Note that we used to define this type in the body of this package,
+   --  but this was causing troubles in the context of .NET code generation
+   --  (because Taft amendment types are not fully implemented and cause
+   --  undefined references to the class), so we moved the type declaration
+   --  to the spec's private part, which is no problem in any case here.
+
    type Dir_Type is access Dir_Type_Value;
 
    Null_Dir : constant Dir_Type := null;