The attached 9-line file causes a checking=all build of GCC 4.1.0 to exhaust memory, on both Ubuntu Linux 5.04/2.6.10-6-386 and Mac OSX 10.4.5. It's a Delta-reduced version of a preprocessed version of the Linux Kernel file drivers/media/video/msp3400.c, which exhibited the same behavior. The original compilation was being done by a test script outside the kernel tree, so the compilation encountered errors; the preprocessed file is invalid C, as is the Delta-reduced version. My checking=all builds of GCC 4.0.1 (patched) and 4.02 each give a segmentation fault. GCC 3.3.5 (Debian 1:3.3.5-8ubuntu2) gives up cleanly: "confused by earlier errors, bailing out". On the non-reduced preprocessed file, with my patched checking build of 4.0.1, I instead get the following, which seems like PR22028, which is presumably fixed: internal compiler error: tree check: expected class type, have exceptional (error_mark) in gimplify_type_sizes, at gimplify.c:4368
Here's the session; I'll attached the preprocessed file and the Delta-reduction. I used ulimit on Ubuntu to save time; fully exhausting memory on OSX (where ulimit doesn't seem to work) with the unreduced file took half an hour, but memory use gets above 50MB fairly quickly. 3> ulimit -m 50000 -v 50000 [EMAIL PROTECTED] scripts 20:11:53 4> /opt/gcc410-chk-all/bin/gcc -v ../cpp/bugfiles/GCC_bugfiles/error/122285_msp3400_min.i Using built-in specs. Target: i686-pc-linux-gnu Configured with: /opt/Gcc-4.1.0-dist/configure --enable-checking=all --prefix=/opt/gcc410-chk-all --enable-languages=c,c++ --with-comment=PalmSource checking=all build by Flash Sheridan 3/17/06 Thread model: posix gcc version 4.1.0 /home/opt/gcc410-chk-all/bin/../libexec/gcc/i686-pc-linux-gnu/4.1.0/cc1 -fpreprocessed ../cpp/bugfiles/GCC_bugfiles/error/122285_msp3400_min.i -quiet -dumpbase 122285_msp3400_min.i -mtune=pentiumpro -auxbase 122285_msp3400_min -version -o /tmp/ccV7UEre.s GNU C version 4.1.0 (i686-pc-linux-gnu) compiled by GNU C version 3.3.5 (Debian 1:3.3.5-8ubuntu2). GGC heuristics: --param ggc-min-expand=0 --param ggc-min-heapsize=0 Compiler executable checksum: a68040354320563d9f0f04c1edf3c815 ../cpp/bugfiles/GCC_bugfiles/error/122285_msp3400_min.i:3: warning: struct i2c_client declared inside parameter list ../cpp/bugfiles/GCC_bugfiles/error/122285_msp3400_min.i:3: warning: its scope is only this definition or declaration, which is probably not what you want ../cpp/bugfiles/GCC_bugfiles/error/122285_msp3400_min.i:4: error: field driver has incomplete type ../cpp/bugfiles/GCC_bugfiles/error/122285_msp3400_min.i:6: error: two or more data types in declaration specifiers ../cpp/bugfiles/GCC_bugfiles/error/122285_msp3400_min.i:6: warning: struct i2c_client declared inside parameter list ../cpp/bugfiles/GCC_bugfiles/error/122285_msp3400_min.i:8: warning: initialization from incompatible pointer type virtual memory exhausted: Cannot allocate memory [EMAIL PROTECTED] scripts 20:14:31 --- PalmSource bug #122285 http://pobox.com/~flash Quality Lead for Compilers and Debuggers PalmSource, Inc. Tools Quality Management -- Summary: Out of memory compiling 9-line Delta-reduced Linux kernel driver msp3400.c Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: flash at pobox dot com GCC host triplet: i686-pc-linux-gnu, powerpc-apple-darwin8.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26774