Bug 30443 - [4.3 Regression] 4.3 internal compiler error: verify_cgraph_node failed
Summary: [4.3 Regression] 4.3 internal compiler error: verify_cgraph_node failed
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: middle-end (show other bugs)
Version: 4.3.0
: P3 normal
Target Milestone: 4.3.0
Assignee: Jan Hubicka
URL:
Keywords: build, ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2007-01-11 22:26 UTC by gee
Modified: 2007-01-14 05:02 UTC (History)
3 users (show)

See Also:
Host:
Target:
Build:
Known to work: 4.2.0
Known to fail:
Last reconfirmed: 2007-01-12 01:43:16


Attachments
sstream-inst.ii (81.31 KB, text/plain)
2007-01-11 22:30 UTC, gee
Details

Note You need to log in before you can comment on or make changes to this bug.
Description gee 2007-01-11 22:26:53 UTC
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
====
Comment 1 gee 2007-01-11 22:30:25 UTC
Created attachment 12893 [details]
sstream-inst.ii
Comment 2 Eric Christopher 2007-01-11 22:34:30 UTC
I can see this on x86-darwin.
Comment 3 Jan Hubicka 2007-01-12 01:43:16 UTC
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);
Comment 4 Jan Hubicka 2007-01-12 18:08:09 UTC
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

Comment 5 Andrew Pinski 2007-01-14 05:02:03 UTC
Fixed.