svn 120684 sstream-inst.ii costs 640kb. i cannot attach it to bugzilla $ /tmp/gcc/host-i686-pc-cygwin/gcc/xgcc -shared-libgcc -B/tmp/gcc/host-i686-pc- cygwin/gcc -nostdinc++ -L/tmp/gcc/i686-pc-cygwin/libstdc++-v3/src -L/tmp/gcc/i6 86-pc-cygwin/libstdc++-v3/src/.libs -B/usr/i686-pc-cygwin/bin/ -B/usr/i686-pc-c ygwin/lib/ -isystem /usr/i686-pc-cygwin/include -isystem /usr/i686-pc-cygwin/sy s-include -I/tmp/gcc/i686-pc-cygwin/libstdc++-v3/include/i686-pc-cygwin -I/tmp/ gcc/i686-pc-cygwin/libstdc++-v3/include -I/tmp/gcc/libstdc++-v3/libsupc++ -fno- implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show -location=once -ffunction-sections -fdata-sections -O2 -c ../../.././libstdc++- v3/src/sstream-inst.cc -o sstream-inst.o -save-temps ../../.././libstdc++-v3/src/sstream-inst.cc:50: error: edge std::basic_stringbuf <_CharT, _Traits, _Alloc>::basic_stringbuf(const std::basic_string<_CharT, _Trai ts, _Alloc>&, std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_trait s<char>, _Alloc = std::allocator<char>]->std::basic_string<_CharT, _Traits, _All oc>::~basic_string() [with _CharT = char, _Traits = std::char_traits<char>, _All oc = std::allocator<char>] has no corresponding call_stmt __comp_dtor (D.32487_16); ../../.././libstdc++-v3/src/sstream-inst.cc:50: error: edge std::basic_stringbuf <_CharT, _Traits, _Alloc>::basic_stringbuf(const std::basic_string<_CharT, _Trai ts, _Alloc>&, std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_trait s<char>, _Alloc = std::allocator<char>]->void std::terminate() has no correspond ing call_stmt terminate (); std::basic_stringbuf<_CharT, _Traits, _Alloc>::basic_stringbuf(const std::basic_ string<_CharT, _Traits, _Alloc>&, std::_Ios_Openmode) [with _CharT = char, _Trai ts = std::char_traits<char>, _Alloc = std::allocator<char>]/843: (inline copy in std::basic_istringstream<_CharT, _Traits, _Alloc>::basic_istringstream(const st d::basic_string<_CharT, _Traits, _Alloc>&, std::_Ios_Openmode) [with _CharT = ch ar, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]/324) availa bility:available(303) 133 insns (203 after inlining) 1 bytes stack usage 2 bytes after inlining tree externally_visible finalized inlinable called by: std::basic_istringstream<_CharT, _Traits, _Alloc>::basic_istringstr eam(const std::basic_string<_CharT, _Traits, _Alloc>&, std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>] /324 (inlined) calls: std::basic_streambuf<_CharT, _Traits>::basic_streambuf() [with _CharT = char, _Traits = std::char_traits<char>]/844 (inlined) std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, typename _Alloc::rebind<_CharT>:: other::size_type, const _Alloc&) [with _CharT = char, _Traits = std::char_traits <char>, _Alloc = std::allocator<char>]/522 void std::basic_stringbuf<_CharT, _Tr aits, _Alloc>::_M_stringbuf_init(std::_Ios_Openmode) [with _CharT = char, _Trait s = std::char_traits<char>, _Alloc = std::allocator<char>]/845 (inlined) std::ba sic_string<_CharT, _Traits, _Alloc>::~basic_string() [with _CharT = char, _Trait s = std::char_traits<char>, _Alloc = std::allocator<char>]/846 (inlined) void st d::terminate()/502 std::basic_streambuf<_CharT, _Traits>::~basic_streambuf() [wi th _CharT = char, _Traits = std::char_traits<char>]/849 (inlined) void std::term inate()/502 ../../.././libstdc++-v3/src/sstream-inst.cc:50: internal compiler error: verify_ cgraph_node failed Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. sstream-inst.s ===== .file "sstream-inst.cc" .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj .def __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj; .scl 2; .type 32; .endef __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj: pushl %ebp movl %esp, %ebp subl $20, %esp movl 8(%ebp), %ecx movl %ebx, -12(%ebp) movl 16(%ebp), %ebx movl %esi, -8(%ebp) movl 12(%ebp), %esi movl %edi, -4(%ebp) movl 32(%ecx), %eax movl %esi, %edx movl %eax, -16(%ebp) shrl $3, %eax andl $1, %eax movb %al, -17(%ebp) movl 36(%ecx), %eax addl -12(%eax), %edx cmpl %eax, %esi movl -8(%eax), %edi je L12 addl %ebx, %edx xorl %ebx, %ebx movl %edx, %edi L4: cmpb $0, -17(%ebp) je L5 leal (%esi,%ebx), %eax movl %esi, 4(%ecx) movl %eax, 8(%ecx) movl %edx, 12(%ecx) L5: testb $16, -16(%ebp) je L10 movl 20(%ebp), %eax movl %esi, 20(%ecx) addl %eax, 20(%ecx) cmpb $0, -17(%ebp) movl %esi, 16(%ecx) movl %edi, 24(%ecx) jne L10 movl %edx, 4(%ecx) movl %edx, 8(%ecx) movl %edx, 12(%ecx) L10: movl -12(%ebp), %ebx movl -8(%ebp), %esi movl -4(%ebp), %edi movl %ebp, %esp popl %ebp ret .p2align 4,,7 L12: addl %esi, %edi jmp L4 .def ___gxx_personality_sj0; .scl 2; .type 32; .endef .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode .def __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode; .scl 2; .type 32; .endef __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode: pushl %ebp movl %esp, %ebp subl $16, %esp movl 12(%ebp), %eax movl 8(%ebp), %edx testb $3, %al movl %eax, 32(%edx) je L18 movl 36(%edx), %eax movl -12(%eax), %ecx L16: movl %ecx, 12(%esp) movl $0, 8(%esp) movl %eax, 4(%esp) movl %edx, (%esp) call __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj leave ret .p2align 4,,7 L18: movl 36(%edx), %eax xorl %ecx, %ecx jmp L16 .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv .def __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv; .scl 2; .type 32; .endef __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv: pushl %ebp movl %esp, %ebp movl 8(%ebp), %edx movl 20(%edx), %eax movl 32(%edx), %ecx testl %eax, %eax je L25 cmpl 12(%edx), %eax jbe L25 andl $8, %ecx je L27 movl %eax, 12(%edx) .p2align 4,,7 L25: popl %ebp .p2align 4,,4 ret .p2align 4,,7 L27: movl %eax, 4(%edx) movl %eax, 8(%edx) movl %eax, 12(%edx) jmp L25 .section .text$_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv .def __ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv; .scl 2; .type 32; .endef __ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv: pushl %ebp movl %esp, %ebp movl 8(%ebp), %eax popl %ebp addl $8, %eax ret .section .text$_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv .def __ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv; .scl 2; .type 32; .endef __ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv: pushl %ebp movl %esp, %ebp movl 8(%ebp), %eax popl %ebp addl $4, %eax ret .section .text$_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv .def __ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv; .scl 2; .type 32; .endef __ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv: pushl %ebp movl %esp, %ebp movl 8(%ebp), %eax popl %ebp addl $12, %eax ret .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci .def __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci; .scl 2; .type 32; .endef __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci: pushl %ebp movl %esp, %ebp subl $40, %esp movl %edi, -4(%ebp) movl 12(%ebp), %edi movl %ebx, -12(%ebp) movl 8(%ebp), %ebx movl %esi, -8(%ebp) movl 16(%ebp), %esi testl %edi, %edi je L35 testl %esi, %esi js L35 movl $0, 12(%esp) movl 36(%ebx), %eax movl -12(%eax), %eax movl $0, 4(%esp) movl %eax, 8(%esp) leal 36(%ebx), %eax movl %eax, (%esp) call __ZNSs9_M_mutateEjjj movl $0, 12(%esp) movl %esi, 8(%esp) movl %edi, 4(%esp) movl %ebx, (%esp) call __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj L35: movl %ebx, %eax movl -8(%ebp), %esi movl -12(%ebp), %ebx movl -4(%ebp), %edi movl %ebp, %esp popl %ebp ret .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi .def __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi; .scl 2; .type 32; .endef __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi: pushl %ebp movl %esp, %ebp subl $8, %esp movl %ebx, (%esp) movl %esi, 4(%esp) movl 8(%ebp), %edx movl 12(%ebp), %ecx movl 8(%edx), %eax cmpl %eax, 4(%edx) jae L39 cmpl $-1, %ecx jne L48 subl $1, %eax movl %eax, 8(%edx) movl (%esp), %ebx xorl %eax, %eax movl 4(%esp), %esi movl %ebp, %esp popl %ebp ret .p2align 4,,7 L48: cmpb %cl, -1(%eax) leal -1(%eax), %esi movl 32(%edx), %ebx je L43 andl $16, %ebx je L39 movl %esi, 8(%edx) movb %cl, -1(%eax) movl (%esp), %ebx movl %ecx, %eax movl 4(%esp), %esi movl %ebp, %esp popl %ebp ret .p2align 4,,7 L39: movl (%esp), %ebx movl $-1, %eax movl 4(%esp), %esi movl %ebp, %esp popl %ebp ret .p2align 4,,7 L43: movl %esi, 8(%edx) movl (%esp), %ebx movl %ecx, %eax movl 4(%esp), %esi movl %ebp, %esp popl %ebp ret .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI10_mbstate_tESt13_Ios_Openmode,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI10_mbstate_tESt13_Ios_Openmode .def __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI10_mbstate_tESt13_Ios_Openmode; .scl 2; .type 32; .endef __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI10_mbstate_tESt13_Ios_Openmode: pushl %ebp movl %esp, %ebp pushl %edi pushl %esi pushl %ebx subl $36, %esp movl 16(%ebp), %eax movl 12(%ebp), %esi movl %eax, -32(%ebp) movl 20(%ebp), %eax movl -32(%ebp), %ecx movl %eax, -28(%ebp) movl 24(%ebp), %eax movl -28(%ebp), %ebx movl %eax, -24(%ebp) movl 28(%ebp), %eax movl %eax, -20(%ebp) movl 8(%ebp), %eax movl $0, 8(%eax) movl $0, 12(%eax) movl $-1, (%eax) movl $-1, 4(%eax) movl 32(%esi), %eax movl %eax, %edx andl $8, %edx testl %edx, 32(%ebp) movl %edx, -44(%ebp) setne -34(%ebp) je L50 movl 4(%esi), %edi testl %edi, %edi je L75 L53: andl $16, %eax testl %eax, 32(%ebp) setne -33(%ebp) cmpb $0, -34(%ebp) je L76 L56: movl 20(%esi), %eax testl %eax, %eax je L58 cmpl 12(%esi), %eax ja L77 L58: testl %ebx, %ebx .p2align 4,,3 js L49 movl 12(%esi), %eax subl %edi, %eax movl %eax, %edx sarl $31, %edx cmpl %ebx, %edx jge L78 L49: movl 8(%ebp), %eax addl $36, %esp popl %ebx popl %esi popl %edi popl %ebp ret $4 .p2align 4,,7 L50: movl 16(%esi), %edi testl %edi, %edi jne L53 L75: movl %ebx, %edx orl %ecx, %edx jne L49 andl $16, %eax testl %eax, 32(%ebp) setne -33(%ebp) cmpb $0, -34(%ebp) jne L56 .p2align 4,,7 L76: cmpb $0, -33(%ebp) jne L56 movl 8(%ebp), %eax addl $36, %esp popl %ebx popl %esi popl %edi popl %ebp ret $4 .p2align 4,,7 L78: jle L79 L65: cmpb $0, -34(%ebp) je L66 leal (%edi,%ecx), %eax movl %eax, 8(%esi) L66: cmpb $0, -33(%ebp) .p2align 4,,3 je L68 leal (%edi,%ecx), %eax movl %eax, 20(%esi) L68: movl %ecx, -32(%ebp) movl 8(%ebp), %edx movl -32(%ebp), %eax movl %ebx, -28(%ebp) movl %eax, (%edx) movl -28(%ebp), %eax movl %eax, 4(%edx) movl -24(%ebp), %eax movl %eax, 8(%edx) movl -20(%ebp), %eax movl %eax, 12(%edx) movl 8(%ebp), %eax addl $36, %esp popl %ebx popl %esi popl %edi popl %ebp ret $4 .p2align 4,,7 L77: movl -44(%ebp), %edx testl %edx, %edx je L80 movl %eax, 12(%esi) jmp L58 .p2align 4,,7 L79: cmpl %ecx, %eax .p2align 4,,3 jb L49 .p2align 4,,7 jmp L65 .p2align 4,,7 L80: movl %eax, 4(%esi) movl %eax, 8(%esi) movl %eax, 12(%esi) .p2align 4,,3 jmp L58 .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode .def __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode; .scl 2; .type 32; .endef __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode: pushl %ebp movl %esp, %ebp pushl %edi pushl %esi pushl %ebx subl $76, %esp movl 16(%ebp), %eax movl 20(%ebp), %edx movl 8(%ebp), %ecx movl %eax, -64(%ebp) movl %edx, -60(%ebp) movl 28(%ebp), %edx movl $-1, (%ecx) movl $-1, 4(%ecx) movl $0, 8(%ecx) movl $0, 12(%ecx) movl 12(%ebp), %ecx movl 32(%ecx), %eax movl %eax, %esi andl $16, %eax andl $8, %esi testl %edx, %eax setne %cl testl %esi, %edx je L82 testb %cl, %cl movb $0, -53(%ebp) je L86 cmpl $1, 24(%ebp) setne -53(%ebp) L86: movl %edx, %eax movl %ecx, %edi shrl $3, %eax xorl $1, %eax andl %eax, %edi andl $16, %edx je L120 L87: movl 12(%ebp), %edx movb $0, -54(%ebp) movl 16(%edx), %edx movl %edx, -52(%ebp) movl -52(%ebp), %ebx testl %ebx, %ebx je L121 L92: cmpb $0, -54(%ebp) je L122 L93: movl 12(%ebp), %edx movl 20(%edx), %ebx testl %ebx, %ebx je L96 L127: cmpl 12(%edx), %ebx jbe L96 testl %esi, %esi je L123 movl 12(%ebp), %ecx movl %ebx, 12(%ecx) .p2align 4,,7 L96: cmpl $1, 24(%ebp) je L124 L101: movl -64(%ebp), %ebx movl -60(%ebp), %esi cmpl $2, 24(%ebp) movl %ebx, -88(%ebp) movl %esi, -84(%ebp) je L125 L103: cmpb $0, -54(%ebp) jne L106 cmpb $0, -53(%ebp) jne L106 .p2align 4,,7 L108: movl %edi, %ecx testb %cl, %cl .p2align 4,,3 jne L112 cmpb $0, -53(%ebp) .p2align 4,,3 je L81 L112: testl %esi, %esi .p2align 4,,3 js L81 movl 12(%ebp), %edx movl 12(%edx), %eax subl -52(%ebp), %eax movl %eax, %edx sarl $31, %edx cmpl %edx, %esi jg L81 jge L126 L116: movl -52(%ebp), %eax movl 12(%ebp), %ecx movl %ebx, -48(%ebp) movl 8(%ebp), %edx movl %esi, -44(%ebp) addl %ebx, %eax movl %eax, 20(%ecx) movl -48(%ebp), %eax movl $0, -40(%ebp) movl $0, -36(%ebp) movl %eax, (%edx) movl -44(%ebp), %eax movl %eax, 4(%edx) movl -40(%ebp), %eax movl %eax, 8(%edx) movl -36(%ebp), %eax movl %eax, 12(%edx) L81: movl 8(%ebp), %eax addl $76, %esp popl %ebx popl %esi popl %edi popl %ebp ret $4 .p2align 4,,7 L82: shrl $3, %edx movl %ecx, %edi xorl $1, %edx andl %edx, %edi movb $0, -53(%ebp) jmp L87 .p2align 4,,7 L122: movl %edi, %eax testb %al, %al jne L93 cmpb $0, -53(%ebp) je L81 movl 12(%ebp), %edx movl 20(%edx), %ebx testl %ebx, %ebx jne L127 .p2align 4,,3 jmp L96 .p2align 4,,7 L120: movl 12(%ebp), %eax movb $1, -54(%ebp) movl 4(%eax), %eax movl %eax, -52(%ebp) movl -52(%ebp), %ebx testl %ebx, %ebx jne L92 .p2align 4,,7 L121: movl -60(%ebp), %ecx orl -64(%ebp), %ecx jne L81 jmp L92 .p2align 4,,7 L106: movl -84(%ebp), %ecx testl %ecx, %ecx .p2align 4,,3 js L108 movl 12(%ebp), %eax movl -52(%ebp), %edx movl 12(%eax), %eax movl %eax, -76(%ebp) subl %edx, %eax movl %eax, %edx sarl $31, %edx cmpl %edx, -84(%ebp) movl %eax, -72(%ebp) movl %edx, -68(%ebp) jg L108 jl L111 cmpl %eax, -88(%ebp) ja L108 L111: movl -52(%ebp), %edx movl 12(%ebp), %ecx addl -88(%ebp), %edx movl -88(%ebp), %eax movl %edx, 8(%ecx) movl -84(%ebp), %edx movl $0, -24(%ebp) movl %eax, -32(%ebp) movl -32(%ebp), %eax movl $0, -20(%ebp) movl %edx, -28(%ebp) movl 8(%ebp), %edx movl %eax, (%edx) movl -28(%ebp), %eax movl %eax, 4(%edx) movl -24(%ebp), %eax movl %eax, 8(%edx) movl -20(%ebp), %eax movl %eax, 12(%edx) jmp L108 .p2align 4,,7 L124: movl 12(%ebp), %edx movl 8(%edx), %eax subl -52(%ebp), %eax movl -60(%ebp), %edx movl %eax, -88(%ebp) movl %eax, %ecx movl -64(%ebp), %eax sarl $31, %ecx addl %eax, -88(%ebp) movl %ecx, -84(%ebp) adcl %edx, -84(%ebp) subl -52(%ebp), %ebx movl %ebx, %esi sarl $31, %esi addl %eax, %ebx adcl %edx, %esi jmp L103 .p2align 4,,7 L123: movl 12(%ebp), %eax cmpl $1, 24(%ebp) movl %ebx, 4(%eax) movl %ebx, 8(%eax) movl %ebx, 12(%eax) jne L101 jmp L124 .p2align 4,,7 L126: cmpl %eax, %ebx ja L81 .p2align 4,,9 jmp L116 .p2align 4,,7 L125: movl 12(%ebp), %edx movl 12(%edx), %eax subl -52(%ebp), %eax movl %eax, %ecx movl %eax, -88(%ebp) sarl $31, %ecx addl %ebx, -88(%ebp) movl -88(%ebp), %ebx movl %ecx, -84(%ebp) adcl %esi, -84(%ebp) movl -84(%ebp), %esi jmp L103 .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv .def __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv; .scl 2; .type 32; .endef __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv: pushl %ebp movl %esp, %ebp movl 8(%ebp), %edx pushl %ebx testb $8, 32(%edx) jne L138 L129: movl $-1, %eax L136: popl %ebx popl %ebp ret L138: movl 20(%edx), %ecx testl %ecx, %ecx je L139 movl 12(%edx), %eax cmpl %eax, %ecx ja L134 movl 8(%edx), %ebx L133: cmpl %eax, %ebx jae L129 movzbl (%ebx), %eax jmp L136 L134: movl 8(%edx), %ebx movl %ecx, %eax movl %ecx, 12(%edx) jmp L133 L139: movl 12(%edx), %eax movl 8(%edx), %ebx jmp L133 .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv .def __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv; .scl 2; .type 32; .endef __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv: pushl %ebp movl $-1, %eax movl %esp, %ebp movl 8(%ebp), %ecx testb $8, 32(%ecx) je L143 movl 20(%ecx), %edx testl %edx, %edx je L149 movl 12(%ecx), %eax cmpl %eax, %edx ja L147 subl 8(%ecx), %eax .p2align 4,,7 L143: popl %ebp ret .p2align 4,,7 L147: movl %edx, %eax subl 8(%ecx), %eax movl %edx, 12(%ecx) jmp L143 .p2align 4,,7 L149: movl 12(%ecx), %eax subl 8(%ecx), %eax jmp L143 .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs .def __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs; .scl 2; .type 32; .endef __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs: pushl %ebp movl %esp, %ebp pushl %ebx subl $20, %esp movl 12(%ebp), %eax movl 8(%ebp), %ebx movl (%eax), %edx movl -12(%edx), %eax movl %edx, 4(%esp) movl %eax, 8(%esp) leal 36(%ebx), %eax movl %eax, (%esp) call __ZNSs6assignEPKcj movl 32(%ebx), %eax testb $3, %al je L155 movl 36(%ebx), %eax movl -12(%eax), %edx L153: movl %ebx, (%esp) movl %edx, 12(%esp) movl $0, 8(%esp) movl %eax, 4(%esp) call __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj addl $20, %esp popl %ebx popl %ebp ret .p2align 4,,7 L155: movl 36(%ebx), %eax xorl %edx, %edx jmp L153 .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode .def __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode; .scl 2; .type 32; .endef __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode: pushl %ebp movl %esp, %ebp pushl %ebx subl $4, %esp movl 8(%ebp), %ebx leal 28(%ebx), %eax movl $__ZTVSt15basic_streambufIcSt11char_traitsIcEE+8, (%ebx) movl $0, 4(%ebx) movl $0, 8(%ebx) movl $0, 12(%ebx) movl $0, 16(%ebx) movl $0, 20(%ebx) movl $0, 24(%ebx) movl %eax, (%esp) call __ZNSt6localeC1Ev movl 12(%ebp), %eax movl $__ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE+8, (%ebx) movl $__ZNSs4_Rep20_S_empty_rep_storageE+12, 36(%ebx) movl %eax, 32(%ebx) addl $4, %esp popl %ebx popl %ebp ret L156: .section .text$_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs .def __ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs; .scl 2; .type 32; .endef __ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs: pushl %ebp movl %esp, %ebp pushl %ebx subl $20, %esp movl 12(%ebp), %eax movl 8(%ebp), %ebx movl (%eax), %edx movl -12(%edx), %eax movl %edx, 4(%esp) movl %eax, 8(%esp) leal 44(%ebx), %eax movl %eax, (%esp) call __ZNSs6assignEPKcj movl 40(%ebx), %eax testb $3, %al je L163 movl 44(%ebx), %eax movl -12(%eax), %edx L161: movl %eax, 4(%esp) leal 8(%ebx), %eax movl %edx, 12(%esp) movl $0, 8(%esp) movl %eax, (%esp) call __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj addl $20, %esp popl %ebx popl %ebp ret .p2align 4,,7 L163: movl 44(%ebx), %eax xorl %edx, %edx jmp L161 .section .text$_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs .def __ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs; .scl 2; .type 32; .endef __ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs: pushl %ebp movl %esp, %ebp pushl %ebx subl $20, %esp movl 12(%ebp), %eax movl 8(%ebp), %ebx movl (%eax), %edx movl -12(%edx), %eax movl %edx, 4(%esp) movl %eax, 8(%esp) leal 48(%ebx), %eax movl %eax, (%esp) call __ZNSs6assignEPKcj movl 44(%ebx), %eax testb $3, %al je L169 movl 48(%ebx), %eax movl -12(%eax), %edx L167: movl %eax, 4(%esp) leal 12(%ebx), %eax movl %edx, 12(%esp) movl $0, 8(%esp) movl %eax, (%esp) call __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj addl $20, %esp popl %ebx popl %ebp ret .p2align 4,,7 L169: movl 48(%ebx), %eax xorl %edx, %edx jmp L167 .section .text$_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs .def __ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs; .scl 2; .type 32; .endef __ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs: pushl %ebp movl %esp, %ebp pushl %ebx subl $20, %esp movl 12(%ebp), %eax movl 8(%ebp), %ebx movl (%eax), %edx movl -12(%edx), %eax movl %edx, 4(%esp) movl %eax, 8(%esp) leal 40(%ebx), %eax movl %eax, (%esp) call __ZNSs6assignEPKcj movl 36(%ebx), %eax testb $3, %al je L175 movl 40(%ebx), %eax movl -12(%eax), %edx L173: movl %eax, 4(%esp) leal 4(%ebx), %eax movl %edx, 12(%esp) movl $0, 8(%esp) movl %eax, (%esp) call __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj addl $20, %esp popl %ebx popl %ebp ret .p2align 4,,7 L175: movl 40(%ebx), %eax xorl %edx, %edx jmp L173 .def __Unwind_SjLj_Resume; .scl 2; .type 32; .endef .def __Unwind_SjLj_Register; .scl 2; .type 32; .endef .def __Unwind_SjLj_Unregister; .scl 2; .type 32; .endef .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi .def __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi; .scl 2; .type 32; .endef __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi: pushl %ebp movl %esp, %ebp pushl %edi pushl %esi pushl %ebx leal -12(%ebp), %eax subl $124, %esp movl %eax, -64(%ebp) leal -96(%ebp), %eax movl $___gxx_personality_sj0, -72(%ebp) movl $LLSDA1441, -68(%ebp) movl $L208, -60(%ebp) movl %esp, -56(%ebp) movl %eax, (%esp) call __Unwind_SjLj_Register movl 8(%ebp), %edx testb $16, 32(%edx) je L177 cmpl $-1, 12(%ebp) je L210 movl 8(%ebp), %ecx movl 36(%ecx), %eax movl 20(%ecx), %edx cmpl 24(%ecx), %edx movl -8(%eax), %eax movl $1073741820, -20(%ebp) jb L182 cmpl $1073741820, %eax je L177 movzbl 12(%ebp), %ebx addl %eax, %eax cmpl $512, %eax movl $512, -32(%ebp) movl %eax, -28(%ebp) movb %bl, -97(%ebp) jae L185 leal -32(%ebp), %eax L187: movl (%eax), %eax cmpl -20(%ebp), %eax movl %eax, -24(%ebp) jbe L188 leal -20(%ebp), %eax L190: movl (%eax), %eax movl $__ZNSs4_Rep20_S_empty_rep_storageE+12, -36(%ebp) movl $3, -92(%ebp) movl %eax, 4(%esp) leal -36(%ebp), %eax movl %eax, (%esp) call __ZNSs7reserveEj movl 8(%ebp), %eax movl 16(%eax), %edx testl %edx, %edx je L191 movl 24(%eax), %eax movl %edx, 4(%esp) subl %edx, %eax movl %eax, 8(%esp) leal -36(%ebp), %eax movl %eax, (%esp) call __ZNSs6assignEPKcj L191: movl -36(%ebp), %eax subl $12, %eax movl (%eax), %ebx addl $1, %ebx cmpl 4(%eax), %ebx movl %ebx, -112(%ebp) ja L193 movl 8(%eax), %esi testl %esi, %esi jle L195 L193: movl -112(%ebp), %eax movl $3, -92(%ebp) movl %eax, 4(%esp) leal -36(%ebp), %eax movl %eax, (%esp) call __ZNSs7reserveEj L195: movl -36(%ebp), %edx movzbl -97(%ebp), %ecx movl -12(%edx), %eax movb %cl, (%edx,%eax) movl -36(%ebp), %eax movl -112(%ebp), %ebx subl $12, %eax movl $0, 8(%eax) movl %ebx, (%eax) movb $0, 12(%ebx,%eax) movl 8(%ebp), %edx leal -36(%ebp), %eax movl %eax, 4(%esp) movl $3, -92(%ebp) addl $36, %edx movl %edx, (%esp) call __ZNSs4swapERSs movl 8(%ebp), %edx movl 20(%edx), %eax movl %edx, %ecx subl 16(%edx), %eax movl %ecx, %ebx movl 8(%edx), %edx subl 4(%ecx), %edx movl 36(%ecx), %ecx movl %eax, 12(%esp) movl %edx, 8(%esp) movl %ebx, (%esp) movl %ecx, 4(%esp) call __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj movl -36(%ebp), %eax movl $__ZNSs4_Rep20_S_empty_rep_storageE, %edx subl $12, %eax cmpl %eax, %edx movl %eax, -104(%ebp) je L197 movl -104(%ebp), %eax movl $-1, 4(%esp) movl $1, -92(%ebp) addl $8, %eax movl %eax, (%esp) call __ZN9__gnu_cxx18__exchange_and_addEPVii testl %eax, %eax jg L197 movl -104(%ebp), %ecx leal -14(%ebp), %eax movl %eax, 4(%esp) movl %ecx, (%esp) call __ZNSs4_Rep10_M_destroyERKSaIcE jmp L197 .p2align 4,,7 L182: movzbl 12(%ebp), %ecx movb %cl, (%edx) L197: movl 8(%ebp), %ebx addl $1, 20(%ebx) L181: L176: leal -96(%ebp), %eax movl %eax, (%esp) call __Unwind_SjLj_Unregister movl 12(%ebp), %eax addl $124, %esp popl %ebx popl %esi popl %edi popl %ebp ret .p2align 4,,7 L188: leal -24(%ebp), %eax jmp L190 .p2align 4,,7 L185: leal -28(%ebp), %eax jmp L187 L177: movl $-1, 12(%ebp) .p2align 4,,5 jmp L181 L210: movl $0, 12(%ebp) .p2align 4,,5 jmp L181 L208: addl $12, %ebp movl -92(%ebp), %edx movl -88(%ebp), %eax cmpl $1, %edx je L209 cmpl $2, %edx je L198 L205: L209: L206: movl %eax, (%esp) movl $-1, -92(%ebp) call __Unwind_SjLj_Resume L198: movl -36(%ebp), %ecx movl $__ZNSs4_Rep20_S_empty_rep_storageE, %ebx movl %eax, -116(%ebp) subl $12, %ecx cmpl %ecx, %ebx movl %ecx, -108(%ebp) jne L211 L202: L203: L199: movl -116(%ebp), %edx movl $-1, -92(%ebp) movl %edx, (%esp) call __Unwind_SjLj_Resume L211: movl %ecx, %eax addl $8, %eax movl $-1, 4(%esp) movl %eax, (%esp) movl $2, -92(%ebp) call __ZN9__gnu_cxx18__exchange_and_addEPVii testl %eax, %eax jg L199 leal -13(%ebp), %eax movl %eax, 4(%esp) movl -108(%ebp), %eax movl %eax, (%esp) call __ZNSs4_Rep10_M_destroyERKSaIcE jmp L199 .section .gcc_except_table,"dr" LLSDA1441: .byte 0xff .byte 0xff .byte 0x1 .uleb128 LLSDACSE1441-LLSDACSB1441 LLSDACSB1441: .uleb128 0x0 .uleb128 0x0 .uleb128 0x1 .uleb128 0x0 .uleb128 0x2 .uleb128 0x0 LLSDACSE1441: .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi,"x" .linkonce discard .section .text$_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv .def __ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv; .scl 2; .type 32; .endef __ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv: pushl %ebp movl %esp, %ebp subl $136, %esp leal -12(%ebp), %eax movl %eax, -48(%ebp) leal -80(%ebp), %eax movl %eax, (%esp) movl %ebx, -12(%ebp) movl %esi, -8(%ebp) movl %edi, -4(%ebp) movl $___gxx_personality_sj0, -56(%ebp) movl $LLSDA1435, -52(%ebp) movl $L247, -44(%ebp) movl %esp, -40(%ebp) call __Unwind_SjLj_Register movl 8(%ebp), %edx movl 12(%ebp), %eax movl $__ZNSs4_Rep20_S_empty_rep_storageE+12, (%edx) movl 20(%eax), %ecx testl %ecx, %ecx je L213 movl 12(%eax), %ebx cmpl %ebx, %ecx ja L248 movl 12(%ebp), %edx movl 16(%edx), %eax leal -14(%ebp), %edx movl %edx, 12(%esp) movl %ebx, 8(%esp) movl $7, -76(%ebp) movl %eax, 4(%esp) leal -28(%ebp), %eax movl %eax, (%esp) call __ZNSsC1IPcEET_S1_RKSaIcE leal -28(%ebp), %eax movl %eax, 4(%esp) movl 8(%ebp), %eax movl $6, -76(%ebp) movl %eax, (%esp) call __ZNSs6assignERKSs movl -28(%ebp), %edx movl $__ZNSs4_Rep20_S_empty_rep_storageE, %eax subl $12, %edx cmpl %edx, %eax movl %edx, -92(%ebp) jne L249 L212: leal -80(%ebp), %eax movl %eax, (%esp) call __Unwind_SjLj_Unregister movl 8(%ebp), %eax movl -12(%ebp), %ebx movl -8(%ebp), %esi movl -4(%ebp), %edi movl %ebp, %esp popl %ebp ret $4 .p2align 4,,7 L248: movl 16(%eax), %eax leal -13(%ebp), %edx movl %edx, 12(%esp) movl %ecx, 8(%esp) movl $9, -76(%ebp) movl %eax, 4(%esp) leal -24(%ebp), %eax movl %eax, (%esp) call __ZNSsC1IPcEET_S1_RKSaIcE leal -24(%ebp), %eax movl %eax, 4(%esp) movl 8(%ebp), %eax movl $8, -76(%ebp) movl %eax, (%esp) call __ZNSs6assignERKSs movl -24(%ebp), %edx movl $__ZNSs4_Rep20_S_empty_rep_storageE, %eax subl $12, %edx cmpl %edx, %eax movl %edx, -100(%ebp) je L212 movl %edx, %eax addl $8, %eax movl $-1, 4(%esp) movl %eax, (%esp) movl $5, -76(%ebp) call __ZN9__gnu_cxx18__exchange_and_addEPVii testl %eax, %eax jg L212 movl -100(%ebp), %edx leal -15(%ebp), %eax movl %eax, 4(%esp) movl %edx, (%esp) call __ZNSs4_Rep10_M_destroyERKSaIcE jmp L212 .p2align 4,,7 L213: movl 12(%ebp), %eax movl 8(%ebp), %edx movl $10, -76(%ebp) addl $36, %eax movl %eax, 4(%esp) movl %edx, (%esp) call __ZNSs6assignERKSs jmp L212 L249: movl %edx, %eax addl $8, %eax movl $-1, 4(%esp) movl %eax, (%esp) movl $3, -76(%ebp) call __ZN9__gnu_cxx18__exchange_and_addEPVii testl %eax, %eax jg L212 movl -92(%ebp), %edx leal -17(%ebp), %eax movl %eax, 4(%esp) movl %edx, (%esp) call __ZNSs4_Rep10_M_destroyERKSaIcE jmp L212 L247: addl $12, %ebp movl -76(%ebp), %eax movl -72(%ebp), %edx cmpl $1, %eax je L240 cmpl $2, %eax je L240 cmpl $3, %eax je L240 cmpl $4, %eax .p2align 4,,5 je L240 cmpl $5, %eax .p2align 4,,5 je L233 cmpl $6, %eax .p2align 4,,5 je L240 cmpl $7, %eax .p2align 4,,5 je L222 cmpl $8, %eax .p2align 4,,5 je L240 cmpl $9, %eax .p2align 4,,5 je L240 L244: L245: movl %edx, (%esp) movl $-1, -76(%ebp) call __Unwind_SjLj_Resume L220: L221: L222: movl -24(%ebp), %eax movl %edx, -112(%ebp) movl $__ZNSs4_Rep20_S_empty_rep_storageE, %edx subl $12, %eax cmpl %eax, %edx movl %eax, -96(%ebp) jne L250 L226: L227: L223: movl -112(%ebp), %edx L228: L240: movl 8(%ebp), %eax movl %edx, -104(%ebp) movl (%eax), %edx movl $__ZNSs4_Rep20_S_empty_rep_storageE, %eax subl $12, %edx cmpl %edx, %eax movl %edx, -84(%ebp) jne L251 L241: movl -104(%ebp), %eax movl $-1, -76(%ebp) movl %eax, (%esp) call __Unwind_SjLj_Resume L231: L232: L233: movl -28(%ebp), %eax movl %edx, -108(%ebp) movl $__ZNSs4_Rep20_S_empty_rep_storageE, %edx subl $12, %eax cmpl %eax, %edx movl %eax, -88(%ebp) jne L252 L237: L238: L234: L239: movl -108(%ebp), %edx jmp L240 L251: movl %edx, %eax addl $8, %eax movl $-1, 4(%esp) movl %eax, (%esp) movl $1, -76(%ebp) call __ZN9__gnu_cxx18__exchange_and_addEPVii testl %eax, %eax jg L241 movl -84(%ebp), %edx leal -19(%ebp), %eax movl %eax, 4(%esp) movl %edx, (%esp) call __ZNSs4_Rep10_M_destroyERKSaIcE jmp L241 L250: addl $8, %eax movl $-1, 4(%esp) movl %eax, (%esp) movl $4, -76(%ebp) call __ZN9__gnu_cxx18__exchange_and_addEPVii testl %eax, %eax jg L223 leal -16(%ebp), %eax movl %eax, 4(%esp) movl -96(%ebp), %eax movl %eax, (%esp) call __ZNSs4_Rep10_M_destroyERKSaIcE jmp L223 L252: addl $8, %eax movl $-1, 4(%esp) movl %eax, (%esp) movl $2, -76(%ebp) call __ZN9__gnu_cxx18__exchange_and_addEPVii testl %eax, %eax jg L234 leal -18(%ebp), %eax movl %eax, 4(%esp) movl -88(%ebp), %eax movl %eax, (%esp) call __ZNSs4_Rep10_M_destroyERKSaIcE jmp L234 .section .gcc_except_table,"dr" LLSDA1435: .byte 0xff .byte 0xff .byte 0x1 .uleb128 LLSDACSE1435-LLSDACSB1435 LLSDACSB1435: .uleb128 0x0 .uleb128 0x0 .uleb128 0x1 .uleb128 0x0 .uleb128 0x2 .uleb128 0x0 .uleb128 0x3 .uleb128 0x0 .uleb128 0x4 .uleb128 0x0 .uleb128 0x5 .uleb128 0x0 .uleb128 0x6 .uleb128 0x0 .uleb128 0x7 .uleb128 0x0 .uleb128 0x8 .uleb128 0x0 .uleb128 0x9 .uleb128 0x0 LLSDACSE1435: .section .text$_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv,"x" .linkonce discard .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode .def __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode; .scl 2; .type 32; .endef __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode: pushl %ebp movl %esp, %ebp pushl %edi pushl %esi pushl %ebx leal -12(%ebp), %eax subl $92, %esp movl %eax, -48(%ebp) leal -80(%ebp), %eax movl %eax, (%esp) movl $___gxx_personality_sj0, -56(%ebp) movl $LLSDA1433, -52(%ebp) movl $L261, -44(%ebp) movl %esp, -40(%ebp) call __Unwind_SjLj_Register movl 8(%ebp), %edx movl %edx, %eax movl $__ZTVSt15basic_streambufIcSt11char_traitsIcEE+8, (%edx) addl $28, %eax movl $0, 4(%edx) movl $0, 8(%edx) movl $0, 12(%edx) movl $0, 16(%edx) movl $0, 20(%edx) movl $0, 24(%edx) movl %eax, (%esp) call __ZNSt6localeC1Ev movl 8(%ebp), %eax movl $__ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE+8, (%eax) movl $0, 32(%eax) movl 12(%ebp), %eax movl (%eax), %edx leal -13(%ebp), %eax movl %eax, 12(%esp) movl -12(%edx), %eax movl %edx, 4(%esp) movl $1, -76(%ebp) movl %eax, 8(%esp) movl 8(%ebp), %eax addl $36, %eax movl %eax, (%esp) call __ZNSsC1EPKcjRKSaIcE movl 16(%ebp), %edx movl 8(%ebp), %eax movl %edx, 32(%eax) xorl %eax, %eax andl $3, %edx je L258 movl 8(%ebp), %edx movl 36(%edx), %eax movl -12(%eax), %eax L253: L258: movl 8(%ebp), %edx movl %eax, 12(%esp) movl $0, 8(%esp) movl 36(%edx), %eax movl %edx, (%esp) movl %eax, 4(%esp) call __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj leal -80(%ebp), %eax movl %eax, (%esp) call __Unwind_SjLj_Unregister addl $92, %esp popl %ebx popl %esi popl %edi popl %ebp ret L261: L255: L259: addl $12, %ebp movl 8(%ebp), %eax movl -72(%ebp), %edx movl $__ZTVSt15basic_streambufIcSt11char_traitsIcEE+8, (%eax) addl $28, %eax movl %edx, -84(%ebp) movl %eax, (%esp) call __ZNSt6localeD1Ev movl -84(%ebp), %edx movl $-1, -76(%ebp) movl %edx, (%esp) call __Unwind_SjLj_Resume .section .gcc_except_table,"dr" LLSDA1433: .byte 0xff .byte 0xff .byte 0x1 .uleb128 LLSDACSE1433-LLSDACSB1433 LLSDACSB1433: .uleb128 0x0 .uleb128 0x0 LLSDACSE1433: .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode,"x" .linkonce discard .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode .def __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode; .scl 2; .type 32; .endef __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode: pushl %ebp movl %esp, %ebp pushl %ebx subl $4, %esp movl 8(%ebp), %ebx leal 28(%ebx), %eax movl $__ZTVSt15basic_streambufIcSt11char_traitsIcEE+8, (%ebx) movl $0, 4(%ebx) movl $0, 8(%ebx) movl $0, 12(%ebx) movl $0, 16(%ebx) movl $0, 20(%ebx) movl $0, 24(%ebx) movl %eax, (%esp) call __ZNSt6localeC1Ev movl 12(%ebp), %eax movl $__ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE+8, (%ebx) movl $__ZNSs4_Rep20_S_empty_rep_storageE+12, 36(%ebx) movl %eax, 32(%ebx) addl $4, %esp popl %ebx popl %ebp ret L263: .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev .def __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev; .scl 2; .type 32; .endef __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev: pushl %ebp movl %esp, %ebp subl $104, %esp leal -12(%ebp), %eax movl %eax, -48(%ebp) leal -80(%ebp), %eax movl %eax, (%esp) movl %ebx, -12(%ebp) movl %esi, -8(%ebp) movl %edi, -4(%ebp) movl $___gxx_personality_sj0, -56(%ebp) movl $LLSDA1451, -52(%ebp) movl $L274, -44(%ebp) movl %esp, -40(%ebp) call __Unwind_SjLj_Register movl 8(%ebp), %edx movl 36(%edx), %eax movl $__ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE+8, (%edx) subl $12, %eax cmpl $__ZNSs4_Rep20_S_empty_rep_storageE, %eax movl %eax, -84(%ebp) jne L275 L266: movl 8(%ebp), %edx movl %edx, %eax movl $__ZTVSt15basic_streambufIcSt11char_traitsIcEE+8, (%edx) addl $28, %eax movl %eax, (%esp) call __ZNSt6localeD1Ev movl 8(%ebp), %eax movl %eax, (%esp) call __ZdlPv leal -80(%ebp), %eax movl %eax, (%esp) call __Unwind_SjLj_Unregister movl -12(%ebp), %ebx movl -8(%ebp), %esi movl -4(%ebp), %edi movl %ebp, %esp popl %ebp ret L275: addl $8, %eax movl $-1, 4(%esp) movl %eax, (%esp) movl $1, -76(%ebp) call __ZN9__gnu_cxx18__exchange_and_addEPVii testl %eax, %eax jg L266 movl -84(%ebp), %edx leal -13(%ebp), %eax movl %eax, 4(%esp) movl %edx, (%esp) call __ZNSs4_Rep10_M_destroyERKSaIcE jmp L266 L274: L269: L270: L271: addl $12, %ebp movl -72(%ebp), %eax movl 8(%ebp), %edx movl %eax, -88(%ebp) movl %edx, %eax addl $28, %eax movl $__ZTVSt15basic_streambufIcSt11char_traitsIcEE+8, (%edx) movl %eax, (%esp) call __ZNSt6localeD1Ev movl -88(%ebp), %eax movl $-1, -76(%ebp) movl %eax, (%esp) call __Unwind_SjLj_Resume L265: .section .gcc_except_table,"dr" LLSDA1451: .byte 0xff .byte 0xff .byte 0x1 .uleb128 LLSDACSE1451-LLSDACSB1451 LLSDACSB1451: .uleb128 0x0 .uleb128 0x0 LLSDACSE1451: .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev,"x" .linkonce discard .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev,"x" .linkonce discard .align 2 .p2align 4,,15 .globl __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev .def __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev; .scl 2; .type 32; .endef __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev: pushl %ebp movl %esp, %ebp subl $104, %esp leal -12(%ebp), %eax movl %eax, -48(%ebp) leal -80(%ebp), %eax movl %eax, (%esp) movl %ebx, -12(%ebp) movl %esi, -8(%ebp) movl %edi, -4(%ebp) movl $___gxx_personality_sj0, -56(%ebp) movl $LLSDA1450, -52(%ebp) movl $L285, -44(%ebp) movl %esp, -40(%ebp) call __Unwind_SjLj_Register movl 8(%ebp), %edx movl 36(%edx), %eax movl $__ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE+8, (%edx) subl $12, %eax cmpl $__ZNSs4_Rep20_S_empty_rep_storageE, %eax movl %eax, -84(%ebp) jne L286 L277: movl 8(%ebp), %edx movl %edx, %eax movl $__ZTVSt15basic_streambufIcSt11char_traitsIcEE+8, (%edx) addl $28, %eax movl %eax, (%esp) call __ZNSt6localeD1Ev leal -80(%ebp), %eax movl %eax, (%esp) call __Unwind_SjLj_Unregister movl -12(%ebp), %ebx movl -8(%ebp), %esi movl -4(%ebp), %edi movl %ebp, %esp popl %ebp ret L286: addl $8, %eax movl $-1, 4(%esp) movl %eax, (%esp) movl $1, -76(%ebp) call __ZN9__gnu_cxx18__exchange_and_addEPVii testl %eax, %eax jg L277 movl -84(%ebp), %edx leal -13(%ebp), %eax movl %eax, 4(%esp) movl %edx, (%esp) call __ZNSs4_Rep10_M_destroyERKSaIcE jmp L277 L285: L280: L281: L282: addl $12, %ebp movl -72(%ebp), %eax movl 8(%ebp), %edx movl %eax, -88(%ebp) movl %edx, %eax addl $28, %eax movl $__ZTVSt15basic_streambufIcSt11char_traitsIcEE+8, (%edx) movl %eax, (%esp) call __ZNSt6localeD1Ev movl -88(%ebp), %eax movl $-1, -76(%ebp) movl %eax, (%esp) call __Unwind_SjLj_Resume L276: .section .gcc_except_table,"dr" LLSDA1450: .byte 0xff .byte 0xff .byte 0x1 .uleb128 LLSDACSE1450-LLSDACSB1450 LLSDACSB1450: .uleb128 0x0 .uleb128 0x0 LLSDACSE1450: .section .text$_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev,"x" .linkonce discard ====
Created attachment 12893 [details] sstream-inst.ii
I can see this on x86-darwin.
Patch in testing. It is related to function cloning update needed by Razya's IPCP code. Honza Index: tree-inline.c =================================================================== *** tree-inline.c (revision 120681) --- tree-inline.c (working copy) *************** tree_function_versioning (tree old_decl, *** 3209,3224 **** DECL_ARTIFICIAL (new_decl) = 1; DECL_ABSTRACT_ORIGIN (new_decl) = DECL_ORIGIN (old_decl); /* Generate a new name for the new version. */ if (!update_clones) { DECL_NAME (new_decl) = create_tmp_var_name (NULL); SET_DECL_ASSEMBLER_NAME (new_decl, DECL_NAME (new_decl)); SET_DECL_RTL (new_decl, NULL_RTX); } - - /* Prepare the data structures for the tree copy. */ - memset (&id, 0, sizeof (id)); id.decl_map = splay_tree_new (splay_tree_compare_pointers, NULL, NULL); id.src_fn = old_decl; --- 3209,3225 ---- DECL_ARTIFICIAL (new_decl) = 1; DECL_ABSTRACT_ORIGIN (new_decl) = DECL_ORIGIN (old_decl); + /* Prepare the data structures for the tree copy. */ + memset (&id, 0, sizeof (id)); + /* Generate a new name for the new version. */ if (!update_clones) { DECL_NAME (new_decl) = create_tmp_var_name (NULL); SET_DECL_ASSEMBLER_NAME (new_decl, DECL_NAME (new_decl)); SET_DECL_RTL (new_decl, NULL_RTX); + id.statements_to_fold = pointer_set_create (); } id.decl_map = splay_tree_new (splay_tree_compare_pointers, NULL, NULL); id.src_fn = old_decl; *************** tree_function_versioning (tree old_decl, *** 3233,3239 **** id.transform_new_cfg = true; id.transform_return_to_modify = false; id.transform_lang_insert_block = false; - id.statements_to_fold = pointer_set_create (); current_function_decl = new_decl; old_entry_block = ENTRY_BLOCK_PTR_FOR_FUNCTION --- 3234,3239 ---- *************** tree_function_versioning (tree old_decl, *** 3299,3316 **** /* Clean up. */ splay_tree_delete (id.decl_map); ! fold_marked_statements (0, id.statements_to_fold); ! pointer_set_destroy (id.statements_to_fold); ! fold_cond_expr_cond (); if (gimple_in_ssa_p (cfun)) { free_dominance_info (CDI_DOMINATORS); free_dominance_info (CDI_POST_DOMINATORS); ! delete_unreachable_blocks (); update_ssa (TODO_update_ssa); ! fold_cond_expr_cond (); ! if (need_ssa_update_p ()) ! update_ssa (TODO_update_ssa); } free_dominance_info (CDI_DOMINATORS); free_dominance_info (CDI_POST_DOMINATORS); --- 3299,3323 ---- /* Clean up. */ splay_tree_delete (id.decl_map); ! if (!update_clones) ! { ! fold_marked_statements (0, id.statements_to_fold); ! pointer_set_destroy (id.statements_to_fold); ! fold_cond_expr_cond (); ! } if (gimple_in_ssa_p (cfun)) { free_dominance_info (CDI_DOMINATORS); free_dominance_info (CDI_POST_DOMINATORS); ! if (!update_clones) ! delete_unreachable_blocks (); update_ssa (TODO_update_ssa); ! if (!update_clones) ! { ! fold_cond_expr_cond (); ! if (need_ssa_update_p ()) ! update_ssa (TODO_update_ssa); ! } } free_dominance_info (CDI_DOMINATORS); free_dominance_info (CDI_POST_DOMINATORS);
Subject: Bug 30443 Author: hubicka Date: Fri Jan 12 18:07:57 2007 New Revision: 120730 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=120730 Log: PR tree-optimization/30443 * tree-inline.c (tree_function_versioning): Do not optimize when cloning for inlining. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-inline.c
Fixed.