The code below causes a checking=yes build of GCC 4.1.1 to report "Internal error: Segmentation fault (program cc1)" after more than an hour. (Ninety minutes in the session below; sixty-eight minutes the first time, on a faster and less loaded machine.) Likewise a checking=all build of GCC 4.1.0. A checking=all build of GCC 4.0.2 completes without error in a fifth of a second.
foo (int __attribute__ ((__mode__ (vector_size(8)))) i) /* { dg-warning "warning: '__mode__' attribute ignored" } */ { } h (int (*p)[sizeof(i())]) { } The above code is Delta-reduced from the test suite file gcc/testsuite/gcc.dg/parm-impl-decl-1.c. This sounds reminiscent of bug 18239 or bug 16873, but those are supposedly fixed. ============================ Here are sessions; I'll attach the preprocessed file. First session, -O1, crash: 8> time /opt/gcc411/bin/gcc -O1 -g -c ../cpp/bugfiles/GCC_bugfiles/error/131357_parm-impl-decl-1_min.c ../cpp/bugfiles/GCC_bugfiles/error/131357_parm-impl-decl-1_min.c:1: warning: __mode__ attribute ignored gcc: Internal error: Segmentation fault (program cc1) Please submit a full bug report. See <URL:http://gcc.gnu.org/bugs.html> for instructions. real 89m59.067s user 44m27.227s sys 0m4.422s Second session, no optimization, -v -save-temps, no crash: 10> /opt/gcc411/bin/gcc -v -save-temps -O0 -g -c ../cpp/bugfiles/GCC_bugfiles/error/131357_parm-impl-decl-1_min.cUsing built-in specs. Target: i686-pc-linux-gnu Configured with: /third-party_source/gcc-4.1.1/configure --enable-checking=yes --prefix=/opt/gcc411 --enable-languages=c,c++ --with-comment=PalmSource checking=yes build by Flash Sheridan 5/31/06 on Kondal Thread model: posix gcc version 4.1.1 /home/opt/gcc411/bin/../libexec/gcc/i686-pc-linux-gnu/4.1.1/cc1 -E -quiet -v -iprefix /home/opt/gcc411/bin/../lib/gcc/i686-pc-linux-gnu/4.1.1/ ../cpp/bugfiles/GCC_bugfiles/error/131357_parm-impl-decl-1_min.c -mtune=pentiumpro -fworking-directory -O0 -fpch-preprocess -o 131357_parm-impl-decl-1_min.i ignoring nonexistent directory "/home/opt/gcc411/bin/../lib/gcc/i686-pc-linux-gnu/4.1.1/../../../../i686-pc-linux-gnu/include" ignoring duplicate directory "/opt/gcc411/lib/gcc/i686-pc-linux-gnu/4.1.1/include" ignoring nonexistent directory "/opt/gcc411/lib/gcc/i686-pc-linux-gnu/4.1.1/../../../../i686-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /home/opt/gcc411/bin/../lib/gcc/i686-pc-linux-gnu/4.1.1/include /usr/local/include /opt/gcc411/include /usr/include End of search list. /home/opt/gcc411/bin/../libexec/gcc/i686-pc-linux-gnu/4.1.1/cc1 -fpreprocessed 131357_parm-impl-decl-1_min.i -quiet -dumpbase 131357_parm-impl-decl-1_min.c -mtune=pentiumpro -auxbase 131357_parm-impl-decl-1_min -g -O0 -version -o 131357_parm-impl-decl-1_min.s GNU C version 4.1.1 (i686-pc-linux-gnu) compiled by GNU C version 3.3.5 (Debian 1:3.3.5-8ubuntu2). GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: e8d2a74fbd215574b08a58c63cf2b2c4 ../cpp/bugfiles/GCC_bugfiles/error/131357_parm-impl-decl-1_min.c:1: warning: __mode__ attribute ignored as -V -Qy -o 131357_parm-impl-decl-1_min.o 131357_parm-impl-decl-1_min.s GNU assembler version 2.15 (i386-linux) using BFD version 2.15 --- PalmSource bug 131357 -- Summary: Hour-long segfault with -O1 -g on gcc.dg/parm-impl-decl- 1.c Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: flash at pobox dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27851