http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55119



             Bug #: 55119

           Summary: Ada.Directories only handles files under 2GB

    Classification: Unclassified

           Product: gcc

           Version: 4.7.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: ada

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: si...@pushface.org





In adaint.c, __gnat_stat_to_attr says



    /* st_size may be 32 bits, or 64 bits which is converted to long. We

       don't return a useful value for files larger than 2 gigabytes in

       either case. */

    attr->file_length = statbuf.st_size;  /* all systems */



where attr->file_length is a long.



This fails with large files on 64-bit filesystems (eg, Mac OS X).



I _think_ that a simple fix would be, in adaint.h, to define

file_attributes.file_length as a long long.

Reply via email to