From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29185 invoked by alias); 9 Sep 2008 18:35:34 -0000 Received: (qmail 28789 invoked by uid 48); 9 Sep 2008 18:34:12 -0000 Date: Tue, 09 Sep 2008 18:35:00 -0000 Subject: [Bug c/37448] New: gcc 4.3.1 cannot compile big function X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "grue at diku dot dk" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2008-09/txt/msg01096.txt.bz2 After upgrading to gcc 4.3.1, I can no longer compile a function whose source code is 0.7 Megabyte before preprocessing and 3.5 Megabyte after preprocessing. The function (named "testsuite") is just a long list of statements essentially of form if(!condition){complain();exit();} The behaviour is: CPU time goes to 100%, then RAM size grows to 1 Gigabyte, then swap space starts growing and CPU time goes to 10%. On my previous gcc (4.2.something, I think), compilation went fine. The problematic source can be found at http://logiweb.eu/grue/lgwam.c The source only #includes standard headers. The source is compiled thus: gcc -ldl -o lgwam lgwam.c To double check that optimization is off, I tried with -O0 which gave the same result as not using -O0. I failed to find out how to fill in Host, Target, and Build triplet. Sorry. Here comes the output from gcc -v: --- grue@pc189-kgr:~> gcc -v Using built-in specs. Target: x86_64-suse-linux Configured with: ../configure --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.3 --enable-ssp --disable-libssp --with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --disable-libgcj --with-slibdir=/lib64 --with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --program-suffix=-4.3 --enable-version-specific-runtime-libs --enable-linux-futex --without-system-libunwind --with-cpu=generic --build=x86_64-suse-linux Thread model: posix gcc version 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036] (SUSE Linux) --- Bradley Lucier (lucier aat math doot purdue doot edu) suggested that this could resemble http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26854 He wrote thus at the gcc mailing list: --- I compiled your file with a recent version of the current development compiler euler-27% /pkgs/gcc-mainline/bin/gcc -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../../mainline/configure --enable-checking=release -- with-gmp=/pkgs/gmp-4.2.2/ --with-mpfr=/pkgs/gmp-4.2.2/ --prefix=/pkgs/ gcc-mainline --enable-languages=c --enable-gather-detailed-mem-stats Thread model: posix gcc version 4.4.0 20080827 (experimental) [trunk revision 139624] (GCC) with /pkgs/gcc-mainline/bin/gcc -c lgwam.c -fmem-report -ftime-report and got the following statistics. If you file a bug report, then they may prove helpful. --- I have placed the mentioned statistics at http://logiweb.eu/grue/lgwam.c.stats-O0 -- Summary: gcc 4.3.1 cannot compile big function Product: gcc Version: 4.3.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: grue at diku dot dk GCC build triplet: See section on gcc -v in Description GCC host triplet: See section on gcc -v in Description GCC target triplet: See section on gcc -v in Description http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37448