http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51037
Bug #: 51037 Summary: SIGSEGV -O3 C++ only Classification: Unclassified Product: gcc Version: 4.6.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: bin20111108.gcc.bugzi...@undecidable.com Created attachment 25756 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25756 cutdown testcase Using -O3 with g++-4.6.2 yields SIGSEGV for the attached test case. gcc-4.6.2 successfully compiles this test case. This appears to have something to do with inlining. % g++-4.6.2 -O3 -c cutdown.c cutdown.c: In function 'char crash(const S*)': cutdown.c:25:6: internal compiler error: Segmentation fault % g++-4.6.2 -v -save-temps -O3 -c cutdown.c Using built-in specs. COLLECT_GCC=/<path1 elided>/gcc/gcc-4.6.2/bin/g++-4.6.2 COLLECT_LTO_WRAPPER=/<path1 elided>/gcc/gcc-4.6.2/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.6.2/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4.6.2/configure --prefix=/<path2 elided>/gcc-4.6/gcc_462_install2 --program-suffix=-4.6.2 Thread model: posix gcc version 4.6.2 (GCC) COLLECT_GCC_OPTIONS='-B' '/<path1 elided>/binutils/binutils-2.21/linux' '-v' '-save-temps' '-O3' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /<path1 elided>/gcc/gcc-4.6.2/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.6.2/cc1plus -E -quiet -v -iprefix /<path1 elided>/gcc/gcc-4.6.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.2/ -D_GNU_SOURCE cutdown.c -mtune=generic -march=x86-64 -O3 -fpch-preprocess -o cutdown.ii ignoring nonexistent directory "/<path1 elided>/gcc/gcc-4.6.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.2/../../../../x86_64-unknown-linux-gnu/include" ignoring duplicate directory "/<path1 elided>/gcc/gcc-4.6.2/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.6.2/../../../../include/c++/4.6.2" ignoring duplicate directory "/<path1 elided>/gcc/gcc-4.6.2/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.6.2/../../../../include/c++/4.6.2/x86_64-unknown-linux-gnu" ignoring duplicate directory "/<path1 elided>/gcc/gcc-4.6.2/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.6.2/../../../../include/c++/4.6.2/backward" ignoring duplicate directory "/<path1 elided>/gcc/gcc-4.6.2/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.6.2/include" ignoring nonexistent directory "/usr/local/include" ignoring duplicate directory "/<path1 elided>/gcc/gcc-4.6.2/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.6.2/include-fixed" ignoring nonexistent directory "/<path1 elided>/gcc/gcc-4.6.2/bin/../lib/gcc/../../lib/gcc/x86_64-unknown-linux-gnu/4.6.2/../../../../x86_64-unknown-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /<path1 elided>/gcc/gcc-4.6.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.2/../../../../include/c++/4.6.2 /<path1 elided>/gcc/gcc-4.6.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.2/../../../../include/c++/4.6.2/x86_64-unknown-linux-gnu /<path1 elided>/gcc/gcc-4.6.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.2/../../../../include/c++/4.6.2/backward /<path1 elided>/gcc/gcc-4.6.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.2/include /<path1 elided>/gcc/gcc-4.6.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.2/include-fixed /<path1 elided>/gcc/gcc-4.6.2/bin/../lib/gcc/../../include /usr/include End of search list. COLLECT_GCC_OPTIONS='-B' '/<path1 elided>/binutils/binutils-2.21/linux' '-v' '-save-temps' '-O3' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /<path1 elided>/gcc/gcc-4.6.2/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.6.2/cc1plus -fpreprocessed cutdown.ii -quiet -dumpbase cutdown.c -mtune=generic -march=x86-64 -auxbase cutdown -O3 -version -o cutdown.s GNU C++ (GCC) version 4.6.2 (x86_64-unknown-linux-gnu) compiled by GNU C version 4.6.2, GMP version 5.0.2, MPFR version 3.0.1, MPC version 0.9 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 GNU C++ (GCC) version 4.6.2 (x86_64-unknown-linux-gnu) compiled by GNU C version 4.6.2, GMP version 5.0.2, MPFR version 3.0.1, MPC version 0.9 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 44ccbc803fa60baa0f85c76972fa817b cutdown.c: In function 'char crash(const S*)': cutdown.c:25:6: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions.