http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60807

            Bug ID: 60807
           Summary: internal compiler error (basic_string.tcc)
           Product: gcc
           Version: 4.8.3
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tk at giga dot or.at

Created attachment 32578
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32578&action=edit
Result of -save-temps

When compiling gambatte r550
(http://sourceforge.net/projects/gambatte/files/gambatte/r550/gambatte_src-r550.tar.gz)
on NetBSD-6.99.40/amd64 with the g++ coming with that version of NetBSD, a file
in libgambatte/ triggers an internal compiler error:

#  g++ -v -save-temps -o src/cpu.o -c -Wall -Wextra -O2 -fomit-frame-pointer
-fno-exceptions -fno-rtti -DHAVE_STDINT_H -Isrc -Iinclude
-I/disk/3/archive/obj/wip/gambatte-dev/work.x86_64/gambatte_src-r550/common
src/cpu.cpp
Using built-in specs.
COLLECT_GCC=g++
Target: x86_64--netbsd
Configured with: /usr/src6/tools/gcc/../../external/gpl3/gcc/dist/configure
--target=x86_64--netbsd --enable-long-long --enable-threads
--with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD
nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-tune=nocona
--with-mpc-lib=/var/obj/mknative/amd64-x86_64/usr/src6/external/lgpl3/mpc/lib/libmpc
--with-mpfr-lib=/var/obj/mknative/amd64-x86_64/usr/src6/external/lgpl3/mpfr/lib/libmpfr
--with-gmp-lib=/var/obj/mknative/amd64-x86_64/usr/src6/external/lgpl3/gmp/lib/libgmp
--with-mpc-include=/usr/src6/external/lgpl3/mpc/dist/src
--with-mpfr-include=/usr/src6/external/lgpl3/mpfr/dist/src
--with-gmp-include=/usr/src6/external/lgpl3/gmp/lib/libgmp/arch/x86_64
--enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch
--build=x86_64-unknown-netbsd6.0. --host=x86_64--netbsd
--with-sysroot=/var/obj/mknative/amd64-x86_64/usr/src6/destdir.amd64
Thread model: posix
gcc version 4.8.3 (NetBSD nb2 20140304)
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-o' 'src/cpu.o' '-c' '-Wall' '-Wextra'
'-O2' '-fomit-frame-pointer' '-fno-exceptions' '-fno-rtti' '-D' 'HAVE_STDINT_H'
'-I' 'src' '-I' 'include' '-I'
'/disk/3/archive/obj/wip/gambatte-dev/work.x86_64/gambatte_src-r550/common'
'-shared-libgcc' '-mtune=nocona' '-march=x86-64'
 /usr/libexec/cc1plus -E -quiet -v -I src -I include -I
/disk/3/archive/obj/wip/gambatte-dev/work.x86_64/gambatte_src-r550/common -D
HAVE_STDINT_H src/cpu.cpp -mtune=nocona -march=x86-64 -Wall -Wextra
-fomit-frame-pointer -fno-exceptions -fno-rtti -O2 -fpch-preprocess -o cpu.ii
#include "..." search starts here:
#include <...> search starts here:
 src
 include
 /disk/3/archive/obj/wip/gambatte-dev/work.x86_64/gambatte_src-r550/common
 /usr/include/g++
 /usr/include/g++/backward
 /usr/include/gcc-4.8
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-o' 'src/cpu.o' '-c' '-Wall' '-Wextra'
'-O2' '-fomit-frame-pointer' '-fno-exceptions' '-fno-rtti' '-D' 'HAVE_STDINT_H'
'-I' 'src' '-I' 'include' '-I'
'/disk/3/archive/obj/wip/gambatte-dev/work.x86_64/gambatte_src-r550/common'
'-shared-libgcc' '-mtune=nocona' '-march=x86-64'
 /usr/libexec/cc1plus -fpreprocessed cpu.ii -quiet -dumpbase cpu.cpp
-mtune=nocona -march=x86-64 -auxbase-strip src/cpu.o -O2 -Wall -Wextra -version
-fomit-frame-pointer -fno-exceptions -fno-rtti -o cpu.s
GNU C++ (NetBSD nb2 20140304) version 4.8.3 (x86_64--netbsd)
        compiled by GNU C version 4.2.1 Compatible Clang 3.5 (trunk 202566),
GMP version 5.1.3, MPFR version 3.1.2, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C++ (NetBSD nb2 20140304) version 4.8.3 (x86_64--netbsd)
        compiled by GNU C version 4.2.1 Compatible Clang 3.5 (trunk 202566),
GMP version 5.1.3, MPFR version 3.1.2, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 4054f87540345d4e138a62067c6e8c30
In file included from /usr/include/g++/string:53:0,
                 from include/loadres.h:4,
                 from src/mem/cartridge.h:22,
                 from src/memory.h:22,
                 from src/cpu.h:22,
                 from src/cpu.cpp:19:
/usr/include/g++/bits/basic_string.tcc: In copy constructor
‘std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const
std::basic_string<_CharT, _Traits, _Alloc>&)’:
/usr/include/g++/bits/basic_string.tcc:173:26: internal compiler error:
Segmentation fault
     __str.get_allocator())
                          ^
no stack trace because unwind library not available
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://www.NetBSD.org/Misc/send-pr.html> for instructions.


Starting cc1plus in gdb gives the following backtrace:

(gdb) r -quiet -v -I src -I include -I
/disk/3/archive/obj/wip/gambatte-dev/work.x86_64/gambatte_src-r550/common -D
HAVE_STDINT_H src/cpu.cpp -quiet -dumpbase cpu.cpp -mtune=nocona -march=x86-64
-auxbase-strip sr
c/cpu.o -O2 -Wall -Wextra -version -fomit-frame-pointer -fno-exceptions
-fno-rtti -o /var/tmp//ccfIzQKQ.s
Starting program: /usr/libexec/cc1plus -quiet -v -I src -I include -I
/disk/3/archive/obj/wip/gambatte-dev/work.x86_64/gambatte_src-r550/common -D
HAVE_STDINT_H src/cpu.cpp -quiet -dumpbase cpu.cpp -mtune=nocona 
-march=x86-64 -auxbase-strip src/cpu.o -O2 -Wall -Wextra -version
-fomit-frame-pointer -fno-exceptions -fno-rtti -o /var/tmp//ccfIzQKQ.s
GNU C++ (NetBSD nb2 20140304) version 4.8.3 (x86_64--netbsd)
        compiled by GNU C version 4.2.1 Compatible Clang 3.5 (trunk 202566),
GMP version 5.1.3, MPFR version 3.1.2, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
#include "..." search starts here:
#include <...> search starts here:
 src  
 include
 /disk/3/archive/obj/wip/gambatte-dev/work.x86_64/gambatte_src-r550/common
 /usr/include/g++
 /usr/include/g++/backward
 /usr/include/gcc-4.8
 /usr/include
End of search list.
GNU C++ (NetBSD nb2 20140304) version 4.8.3 (x86_64--netbsd)
        compiled by GNU C version 4.2.1 Compatible Clang 3.5 (trunk 202566),
GMP version 5.1.3, MPFR version 3.1.2, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 4054f87540345d4e138a62067c6e8c30

Program received signal SIGSEGV, Segmentation fault.
0x00000000004f7670 in poplevel_class () at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/name-lookup.c:2860
2860              IDENTIFIER_BINDING (cb->identifier) = cb->base->previous;
(gdb) bt
#0  0x00000000004f7670 in poplevel_class () at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/name-lookup.c:2860
#1  0x0000000000459b9c in popclass () at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/class.c:6935
#2  pop_nested_class () at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/class.c:7081
#3  0x000000000042a934 in finish_function (flags=<optimized out>) at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/decl.c:13991
#4  0x000000000048d01a in cp_parser_function_definition_after_declarator
(parser=0x7f7ff6035bb0, inline_p=false) at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/parser.c:21837
#5  0x0000000000478f98 in
cp_parser_function_definition_from_specifiers_and_declarator (parser=<optimized
out>, decl_specifiers=<optimized out>, attributes=<optimized out>,
declarator=<optimized out>)
    at /archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/parser.c:21752
#6  cp_parser_init_declarator (parser=0x7f7ff6035bb0,
decl_specifiers=<optimized out>, checks=<optimized out>,
function_definition_allowed_p=<optimized out>, member_p=<optimized out>, 
    declares_class_or_enum=<optimized out>, function_definition_p=<optimized
out>, maybe_range_for_decl=<optimized out>) at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/parser.c:15905
#7  0x000000000049efee in cp_parser_single_declaration (parser=0x7f7ff6035bb0,
checks=0x0, member_p=false, explicit_specialization_p=false,
friend_p=<optimized out>)
    at /archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/parser.c:22127
#8  0x000000000049e573 in cp_parser_template_declaration_after_export
(parser=0x7f7ff6035bb0, member_p=false) at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/parser.c:21941
#9  0x0000000000472bf7 in cp_parser_template_declaration
(parser=0x7f7ff6035bb0, member_p=false) at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/parser.c:12226
#10 cp_parser_declaration (parser=0x7f7ff6035bb0) at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/parser.c:10404
#11 0x0000000000470c58 in cp_parser_declaration_seq_opt (parser=0x7f7ff6035bb0)
at /archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/parser.c:10334
#12 0x00000000004738d8 in cp_parser_namespace_body (parser=0x7f7ff6035bb0) at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/parser.c:15136
#13 cp_parser_namespace_definition (parser=0x7f7ff6035bb0) at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/parser.c:15117
#14 0x0000000000472b49 in cp_parser_declaration (parser=0x7f7ff6035bb0) at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/parser.c:10432
#15 0x0000000000470c58 in cp_parser_declaration_seq_opt (parser=0x7f7ff6035bb0)
at /archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/parser.c:10334
#16 0x000000000046fcff in cp_parser_translation_unit (parser=<optimized out>)
at /archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/parser.c:3813
#17 c_parse_file () at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/cp/parser.c:28334
#18 0x00000000005387a4 in c_common_parse_file () at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/c-family/c-opts.c:1046
#19 0x000000000067c3aa in compile_file () at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/toplev.c:543
#20 0x000000000067c207 in do_compile () at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/toplev.c:1864
#21 toplev_main (argc=28, argv=0x7f7fffffd310) at
/archive/foreign/src/external/gpl3/gcc/dist/gcc/toplev.c:1940
#22 0x0000000000403059 in ___start ()
#23 0x00007f7ff7c042c0 in ?? () at
/archive/foreign/src/libexec/ld.elf_so/rtld.c:1426 from /libexec/ld.elf_so
#24 0x00007f7ff7ffa000 in ?? ()
#25 0x000000000000001c in ?? ()
(lots more ??)

The cpu.ii file is attached.

Reply via email to