http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59441
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- ICEs for me at > ./xg++ -B. -shared t.C -fPIC -nostdlib -flto -O -fvtable-verify=std t.C: In function '_GLOBAL__sub_I.00099_t.C': t.C:20:1: internal compiler error: in pool_free, at alloc-pool.c:347 } ^ 0x91e6b3 pool_free(alloc_pool_def*, void*) /space/rguenther/src/svn/trunk/gcc/alloc-pool.c:343 0xa5bb69 et_free_tree_force /space/rguenther/src/svn/trunk/gcc/et-forest.c:508 0x9fa721 free_dominance_info(cdi_direction) /space/rguenther/src/svn/trunk/gcc/dominance.c:694 0xfe387b verify_ssa(bool) instead. Must be a memory corruption, valgrind is very noisy, first error: ==1198== Invalid write of size 8 ==1198== at 0x91F22C: bitmap_initialize_stat(bitmap_head*, bitmap_obstack*) (bitmap.h:277) ==1198== by 0x91FDBC: bitmap_obstack_alloc_stat(bitmap_obstack*) (bitmap.c:376) ==1198== by 0xE5AC4A: mark_def_dom_walker::mark_def_dom_walker(cdi_direction) (tree-into-ssa.c:2234) ==1198== by 0xE5AF18: rewrite_into_ssa() (tree-into-ssa.c:2331) ==1198== by 0xE5B208: (anonymous namespace)::pass_build_ssa::execute() (tree-into-ssa.c:2403) ==1198== by 0xCE0617: execute_one_pass(opt_pass*) (passes.c:2213) ==1198== by 0xCE082E: execute_pass_list(opt_pass*) (passes.c:2266) ==1198== by 0xCD4C56: gcc::pass_manager::execute_early_local_passes() (passes.c:135) ==1198== by 0x9B11D1: cgraph_process_new_functions() (cgraphunit.c:338) ==1198== by 0x88DC53: vtv_generate_init_routine() (vtable-class-hierarchy.c:1191) ==1198== by 0x737B06: cp_write_global_declarations() (decl2.c:4440) ==1198== by 0xDD0D7F: compile_file() (toplev.c:561)