------- Comment #3 from danglin at gcc dot gnu dot org 2007-07-24 16:01 ------- The program is segfaulting when compiled at -O2. It doesn't fail at -O0 or -O1. I added -static to make debugging easier.
Starting program: /home/dave/gnu/gcc-4.3/objdir/hppa-linux/libstdc++-v3/testsuite/16020.xg Program received signal SIGSEGV, Segmentation fault. 0x00010450 in __gnu_debug::_Safe_iterator_base::_M_detach_single ( this=0xc016a081) at ../../../../gcc/libstdc++-v3/src/debug.cc:245 245 if (_M_next) (gdb) bt #0 0x00010450 in __gnu_debug::_Safe_iterator_base::_M_detach_single ( this=0xc016a081) at ../../../../gcc/libstdc++-v3/src/debug.cc:245 #1 0x00010690 in __gnu_debug::_Safe_sequence_base::_M_detach_all ( this=0xc016ab2c) at ../../../../gcc/libstdc++-v3/src/debug.cc:127 #2 0x0001037c in test01 () at /home/dave/gnu/gcc-4.3/objdir/hppa-linux/libstdc++-v3/include/debug/safe_base.h:185 #3 0x00010408 in main () at /home/dave/gnu/gcc-4.3/gcc/libstdc++-v3/testsuite/23_containers/bitset/cons/16020.cc:40 (gdb) p/x $pc $1 = 0x10450 (gdb) disass 0x10440 0x10460 Dump of assembler code from 0x10440 to 0x10460: 0x00010440 <_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv+16>: ldw c(r26),ret0 0x00010444 <_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv+20>: stw ret0,c(r19) 0x00010448 <_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv+24>: ldw c(r26),r20 0x0001044c <_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv+28>: cmpiclr,= 0,r20,r0 0x00010450 <_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv+32>: stw r19,8(r20) 0x00010454 <_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv+36>: ldw 4(r21),ret0 0x00010458 <_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv+40>: cmpb,=,n r26,ret0,0x10494 <_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv+100> 0x0001045c <_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv+44>: ldw 0(r21),ret0 End of assembler dump. (gdb) p/x $r20 $3 = 0x61736800 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32878