For reference, here's a compile with gcc-3.3.5: $ gcc -c -v pkg001u.adb Reading specs from /usr/lib/gcc-lib/i586-suse-linux/3.3.5/specs Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --enable-languages=c,c++,f77,objc,java,ada --disable-checking --libdir=/usr/lib --enable-libgcj --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit i586-suse-linux Thread model: posix gcc version 3.3.5 20050117 (prerelease) (SUSE Linux) /usr/lib/gcc-lib/i586-suse-linux/3.3.5/gnat1 -quiet -dumpbase pkg001u.adb pkg001u.adb -o /tmp/cckqHQka.s
The file compiles successfully and 'top' shows a peak RES requirement of 77 Meg using no VIRT. Thus let's limit the VIRT to a half gig, $ ulimit -v 512000 and compile with a newer gcc: $ gcc -c -v -gnat95 pkg001u.adb Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../../SOURCES/gcc/configure --prefix=/opt/gccsnap --enable-debug --enable-languages=c,ada,c++ Thread model: posix gcc version 4.3.0 20080114 (experimental) (GCC) COLLECT_GCC_OPTIONS='-c' '-v' '-gnat95' '-mtune=generic' /opt/gccsnap/libexec/gcc/i686-pc-linux-gnu/4.3.0/gnat1 -quiet -dumpbase pkg001u.adb -gnat95 -mtune=generic pkg001u.adb -o /tmp/ccmBlEVU.s +===========================GNAT BUG DETECTED==============================+ | 4.3.0 20080114 (experimental) (i686-pc-linux-gnu) Storage_Error heap exhausted| | Error detected at pkg001u.adb:296:35 | | Please submit a bug report; see http://gcc.gnu.org/bugs.html. | | Use a subject line meaningful to you and us to track the bug. | | Include the entire contents of this bug box in the report. | | Include the exact gcc or gnatmake command that you entered. | | Also include sources listed below in gnatchop format | | (concatenated together with no headers between files). | +==========================================================================+ Please include these source files with error report Note that list may not be accurate in some cases, so please double check that the problem can still be reproduced with the set of files listed. pkg001u.adb pkg001u.ads p_portable.ads corba.ads pkg001z.ads pkg0013.ads pkg000x.ads pkg001o.ads pkg000q.ads pkg000v.ads pkg000y.ads pkg001l.ads pkg0025.ads pkg001e.ads pkg000w.ads pkg001r.ads pkg000u.ads pkg002n.ads pkg002f.ads pkg0020.ads pkg0019.ads pkg001w.ads pkg000t.ads pkg001v.ads pkg001m.ads pkg000a.ads pkg000d.ads pkg000c.ads pkg0007.ads pkg0009.ads pkg000k.ads pkg0001.ads pkg000g.ads pkg000b.ads pkg000l.ads pkg000f.ads pkg002g.ads pkg0006.ads pkg001k.ads pkg0000.ads pkg0005.ads pkg002o.ads pkg0028.ads pkg0029.ads pkg000h.ads pkg002p.ads pkg000j.ads pkg000i.ads pkg0027.ads pkg0002.ads pkg0022.ads pkg0023.ads pkg0012.ads pkg0026.ads pkg000r.ads pkg000s.ads c_types.ads pkg000m.ads pkg001a.ads pkg0003.ads pkg001n.ads pkg0021.ads pkg001t.ads pkg001p.ads pkg001c.ads pkg0004.ads pkg0016.ads pkg001s.ads pkg001x.ads pkg001z-o_protokoll.ads pkg0018.ads pkg000z.ads pkg001j.ads pkg0011.ads pkg001d.ads pkg002m.ads pkg002e.ads pkg002d.ads pkg000o.ads pkg001b.ads pkg000p.ads pkg001f.ads pkg0015.ads pkg000n.ads pkg0014.ads pkg0017.ads pkg0024.ads compilation abandoned (Tried limiting the VIRT to 1.5 gig, same result.) -- Summary: Excessive memory consumption during compilation Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: oliver dot kellogg at eads dot com GCC host triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34898