I'm running into an ICE in the prerelease, that is proving to be very difficult in reducing to a small testcase. If I preprocess the source (via -E or -save-temps) the code successfully compiles. If I minimally change the source file in some ways(like adding a static integer in the global scope) the code compiles. I've been able to delete some lines from the source file that's triggering the bug, including some from within the function that is triggering the ICE, but I'm down to a point where I can't easily reduce it further, or even get it into a single source file.
Does this bug look familiar? 20629 is ICEing in the same spot, but it looks like theirs was reproducible after preprocessing. Is there any more information that I provide that would be helpful? I've attached the command line, specs and a stacktrace from cc1plus. -nick /dept/rnd/vendor/gcc-4.0.0pre1-amd64/bin/g++ -fno-builtin -O2 -g -DHAVE_X86_64 -DHAVE_LITTLE_ENDIAN -DHAVE_BYTESWAP_H -DHAVE_64BIT_POINTER -DHAVE_VA_COPY -DHAVE_XINERAMA -DPLATFORM_LINUX -D_FILE_OFFSET_BITS=64 -DHAVE_STL_LIMITS -DHAVE_IOS_BASE -Drestrict=__restrict__ -DPLATFORM_LINUX_AMD64 -DPLATFORM=LINUX_AMD64 -DBUILD=LINUX_AMD64_GCC400pre1_OPT_DEBUG -DDISTRO_SUSE -DDISTRO=SUSE -DDISTRO_VERSION=91 -DNVIDIA_VERSION_6111 -DNVIDIA_VERSION=6111 -DGCC_VERSION_400pre1 -DNDEBUG -I/usr/share/doc/NVIDIA_GLX-1.0/include -I. -I/dept/rnd/home/nick/work/build-zeno2/SUSE_AMD64_GCC400pre1_OPT_DEBUG/include -I/usr/X11R6/include -c bug.C -o /dev/null bug.C: In member function 'void EzFleshMesh::buildNodeArrays()': bug.C:411: internal compiler error: in cp_tree_equal, at cp/tree.c:1552 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. > /dept/rnd/vendor/gcc-4.0.0pre1-amd64/bin/g++ -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4.0.0-20050410/configure --enable-languages=c,c++ --prefix=/dept/rnd/vendor/gcc-4.0.0-20050410-amd64 --enable-threads Thread model: posix gcc version 4.0.0 20050410 (prerelease) #0 internal_error (msgid=0x847cb2 "in %s, at %s:%d") at ../../gcc-4.0.0-20050410/gcc/diagnostic.c:496 #1 0x00000000005640fc in fancy_abort (file=Variable "file" is not available. ) at ../../gcc-4.0.0-20050410/gcc/diagnostic.c:556 #2 0x0000000000473171 in cp_tree_equal (t1=0x2a9a1c94b0, t2=0x2a9a1cbb90) at ../../gcc-4.0.0-20050410/gcc/cp/tree.c:1552 #3 0x0000000000473198 in cp_tree_equal (t1=0x2a9a013820, t2=0x2a9a031460) at ../../gcc-4.0.0-20050410/gcc/cp/tree.c:1543 #4 0x00000000004590b3 in comptypes (t1=0x2a9a00ea90, t2=0x2a9a02bdd0, strict=Variable "strict" is not available. ) at ../../gcc-4.0.0-20050410/gcc/cp/typeck.c:912 #5 0x0000000000458ede in comptypes (t1=0x2a9a00ec30, t2=0x2a9a032000, strict=0) at ../../gcc-4.0.0-20050410/gcc/cp/typeck.c:1034 #6 0x000000000047b0b9 in cxx_types_compatible_p (x=0x2a9a00ec30, y=0x2a9a032000) at ../../gcc-4.0.0-20050410/gcc/cp/cp-objcp-common.c:173 #7 0x00000000007776bd in expressions_equal_p (e1=0x2a9a1c9640, e2=0x2a9a1cbd20) at ../../gcc-4.0.0-20050410/gcc/tree-vn.c:127 #8 0x00000000007776f7 in val_expr_pair_expr_eq (p1=0xc16b90, p2=0xcd25e0) at ../../gcc-4.0.0-20050410/gcc/tree-vn.c:153 #9 0x00000000007ffcba in htab_find_slot_with_hash (htab=0xca98a0, element=0x81c3b9, hash=8504885, insert=INSERT) at ../../gcc-4.0.0-20050410/libiberty/hashtab.c:660 #10 0x000000000077794f in vn_add (expr=0x2a9a1cbd20, val=0x2a9a240330, vuses=0x0) at ../../gcc-4.0.0-20050410/gcc/tree-vn.c:199 #11 0x00000000004e09c1 in execute_pre (do_fre=0 '\0') at ../../gcc-4.0.0-20050410/gcc/tree-ssa-pre.c:1742 #12 0x00000000004c0802 in execute_pass_list (pass=0xa10b80) at ../../gcc-4.0.0-20050410/gcc/tree-optimize.c:533 #13 0x00000000004c0825 in execute_pass_list (pass=0xa10700) at ../../gcc-4.0.0-20050410/gcc/tree-optimize.c:571 #14 0x00000000004c0a66 in tree_rest_of_compilation (fndecl=0x847cb2) at ../../gcc-4.0.0-20050410/gcc/tree-optimize.c:668 #15 0x000000000046e690 in expand_body (fn=0x2a99e450d0) at ../../gcc-4.0.0-20050410/gcc/cp/semantics.c:2981 #16 0x000000000076ce74 in cgraph_expand_function (node=0x2a9a032a90) at ../../gcc-4.0.0-20050410/gcc/cgraphunit.c:835 #17 0x000000000076d0fa in cgraph_optimize () at ../../gcc-4.0.0-20050410/gcc/cgraphunit.c:1706 #18 0x0000000000441a15 in cp_finish_file () at ../../gcc-4.0.0-20050410/gcc/cp/decl2.c:3053 #19 0x00000000004a4f4a in c_common_parse_file (set_yydebug=Variable "set_yydebug" is not available. ) at ../../gcc-4.0.0-20050410/gcc/c-opts.c:1099 #20 0x000000000072fcc8 in toplev_main (argc=Variable "argc" is not available. ) at ../../gcc-4.0.0-20050410/gcc/toplev.c:998 #21 0x0000002a95688e5d in __libc_start_main () from /lib64/tls/libc.so.6 #22 0x000000000040258a in _start () at ../sysdeps/x86_64/elf/start.S:96