From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6885 invoked by alias); 12 May 2010 05:27:01 -0000 Received: (qmail 6821 invoked by uid 48); 12 May 2010 05:26:45 -0000 Date: Wed, 12 May 2010 05:27:00 -0000 Subject: [Bug lto/44090] New: lto ice in verify_stmts X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "astrange at ithinksw dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-05/txt/msg01206.txt.bz2 > /usr/local/gcc46/bin/gcc -v Using built-in specs. COLLECT_GCC=/usr/local/gcc46/bin/gcc COLLECT_LTO_WRAPPER=/usr/local/gcc46/libexec/gcc/x86_64-apple-darwin10.3.1/4.6.0/lto-wrapper Target: x86_64-apple-darwin10.3.1 Configured with: ../../src/gcc/configure --prefix=/usr/local/gcc46 --with-arch=native --with-tune=native --disable-nls --enable-lto --disable-bootstrap LDFLAGS=-L/sw/lib CPPFLAGS=-I/sw/include --enable-languages=c,c++,objc,obj-c++,lto Thread model: posix gcc version 4.6.0 20100511 (experimental) (GCC) The attached files have two different definitions of MpegEncContext. -flto with checking gives an ice on it instead of a readable warning/error: > /usr/local/gcc46/bin/gcc -O3 -flto -c h263dec.i > /usr/local/gcc46/bin/gcc -O3 -flto -c ituh263dec.i > echo "h263dec.o ituh263dec.o" > test > /usr/local/gcc46/libexec/gcc/x86_64-apple-darwin10.3.1/4.6.0/lto1 -O3 @test Reading object files: h263dec.o ituh263dec.o Reading the callgraph Merging declarations Reading summaries Reading function bodies: ff_h263_decode_mb ff_h263_decode_init Performing interprocedural optimizations In function 'ff_h263_decode_init': lto1: error: type mismatch in address expression (*) (struct MpegEncContext *, [64] *) (struct MpegEncContext *, [64] *) # .MEM_5 = VDEF <.MEM_4(D)> s_3->decode_mb = ff_h263_decode_mb; lto1: internal compiler error: verify_stmts failed Please submit a full bug report, with preprocessed source if appropriate. See for instructions. It looks obviously invalid here, but building ffmpeg with -O3 -flto gives the same ice, and I can't see any bugs that would cause that. It's hard to debug it, though, since it doesn't print the origin files of the mismatched definitions or anything. The original, absolutely not unreduced version: > svn co -r23100 svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg > cd ffmpeg > ./configure --cc=/usr/local/gcc46/bin/gcc --extra-cflags="-flto -O3" --extra-ldflags="-flto -O3" --enable-shared; make ... ... s_4->decode_mb = ff_h263_decode_mb; lto1: internal compiler error: verify_stmts failed -- Summary: lto ice in verify_stmts Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: astrange at ithinksw dot com GCC host triplet: x86_64-apple-darwin10.3.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44090