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.