From make-check in libstdc++ FAIL: 23_containers/set/explicit_instantiation/3.cc (test for excess errors) Excess errors: /mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/bits/stl_set.h: In member function 'std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename _Alloc::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(const _Key&) [with _Key = int, _Compare = std::less<int>, _Alloc = std::allocator<char>]': /mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/bits/stl_set.h:318: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. This is with -O2 only, -O0 and -O1 are fine.
Created attachment 9459 [details] pre-processed source
Confirmed. /mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/bits/stl_set.h: In member function ‘std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename _Alloc::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(const _Key&) [with _Key = int, _Compare = std::less<int>, _Alloc = std::allocator<char>]’: /mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/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 IVOPTs bug. Aka, -fno-ivopts fixes it. Sigh.
Maybe too fast in blaming IVOPTs -- the ICE is during update_ssa of the alias pass, and -fdump-tree-alias fixes it. This is a duplicate bug of ... ? (I had this personally at one time) Maybe it's worth minimizing, maybe not, I'll try.
*** This bug has been marked as a duplicate of 22444 ***