------- 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

Reply via email to