------- Additional Comments From reichelt at gcc dot gnu dot org 2005-07-12 10:43 ------- I tried to reduce the testcase, but the problem just disappears on unrelated changes of the code.
A run through valgrind resulted in the following output: 130 % valgrind --tool=memcheck cc1plus -quiet -mtune=i686 -O3 1.ii ==17826== Memcheck, a memory error detector for x86-linux. ==17826== Copyright (C) 2002-2004, and GNU GPL'd, by Julian Seward et al. ==17826== Using valgrind-2.2.0, a program supervision framework for x86-linux. ==17826== Copyright (C) 2000-2004, and GNU GPL'd, by Julian Seward et al. ==17826== For more details, rerun with: -v ==17826== ==17826== Conditional jump or move depends on uninitialised value(s) ==17826== at 0x84E628F: find_what_p_points_to (tree-ssa-structalias.c:3184) /Work/reichelt/GCC/FARM/gcc-4.1-20050712/bin/../lib/gcc/i686-pc-linux-gnu/4.1.0/ ../../../../include/c++/4.1.0/bits/stl_set.h: In member function 'std::pair<type name std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename _Alloc:: rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::in sert(const _Key&) [with _Key = int, _Compare = std::less<int>, _Alloc = std::all ocator<int>]': /Work/reichelt/GCC/FARM/gcc-4.1-20050712/bin/../lib/gcc/i686-pc-linux-gnu/4.1.0/ ../../../../include/c++/4.1.0/bits/stl_set.h:318: internal compiler error: tree check: expected ssa_name, have var_decl in is_old_name, at tree-into-ssa.c:466 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. ==17826== ==17826== ERROR SUMMARY: 9 errors from 1 contexts (suppressed: 11 from 1) ==17826== malloc/free: in use at exit: 863685 bytes in 3373 blocks. ==17826== malloc/free: 195693 allocs, 192320 frees, 50172271 bytes allocated. ==17826== For a detailed leak analysis, rerun with: --leak-check=yes ==17826== For counts of detected errors, rerun with: -v The uninitialised value is reported long before the ICE happens, but maybe it's the culprit anyway. An uninitialized value would also explain why unrelated changes make the code compile again. -- What |Removed |Added ---------------------------------------------------------------------------- CC| |reichelt at gcc dot gnu dot | |org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22416