Bug 63817 - ICE in verify_gimple_in_cfg tree-cfg.c:5039 (arm)
Summary: ICE in verify_gimple_in_cfg tree-cfg.c:5039 (arm)
Status: RESOLVED DUPLICATE of bug 63821
Alias: None
Product: gcc
Classification: Unclassified
Component: tree-optimization (show other bugs)
Version: 5.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-11-11 15:45 UTC by Joel Sherrill
Modified: 2014-11-13 12:53 UTC (History)
1 user (show)

See Also:
Host:
Target: arm-eabi arm-rtems
Build:
Known to work: 4.9.2
Known to fail:
Last reconfirmed: 2014-11-12 00:00:00


Attachments
Preprocessed newlib ecvtbuf.c which produces the ICE (8.14 KB, application/x-bzip)
2014-11-11 15:45 UTC, Joel Sherrill
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joel Sherrill 2014-11-11 15:45:43 UTC
Created attachment 33934 [details]
Preprocessed newlib ecvtbuf.c which produces the ICE

gcc, binutils-gdb, newlib head. gcc git hash 662274eebc1318f5a70fdb362da74f7913fbf1ba

Fails on both arm-eabi and arm-rtems at -O1 and -O2. Compiles at -O0 w/-mthumb and at -O2 w/o -mthumb

Configure (from top config.log) is based on RTEMS standard build configuration

../gcc/configure --prefix=/users/joel/test-gcc/install-head --bindir=/users/joel/test-gcc/install-head/bin --exec_prefix=/users/joel/test-gcc/install-head --includedir=/users/joel/test-gcc/install-head/include --libdir=/users/joel/test-gcc/install-head/lib --libexecdir=/users/joel/test-gcc/install-head/libexec --mandir=/users/joel/test-gcc/install-head/share/man --infodir=/users/joel/test-gcc/install-head/share/info --datadir=/users/joel/test-gcc/install-head/share --target=arm-eabi --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --verbose --with-newlib --with-system-zlib --disable-nls --without-included-gettext --disable-win32-registry --enable-version-specific-runtime-libs --enable-newlib-iconv --enable-newlib-iconv-encodings=big5,cp775,cp850,cp852,cp855,cp866,euc_jp,euc_kr,euc_tw,iso_8859_1,iso_8859_10,iso_8859_11,iso_8859_13,iso_8859_14,iso_8859_15,iso_8859_2,iso_8859_3,iso_8859_4,iso_8859_5,iso_8859_6,iso_8859_7,iso_8859_8,iso_8859_9,iso_ir_111,koi8_r,koi8_ru,koi8_u,koi8_uni,ucs_2,ucs_2_internal,ucs_2be,ucs_2le,ucs_4,ucs_4_internal,ucs_4be,ucs_4le,us_ascii,utf_16,utf_16be,utf_16le,utf_8,win_1250,win_1251,win_1252,win_1253,win_1254,win_1255,win_1256,win_1257,win_1258 --disable-lto --enable-newlib-io-c99-formats --enable-threads --disable-plugin target_alias=arm-eabi --enable-languages=c,c++ --no-create --no-recursion

Shortened command and failure with attached preprocessed evctbuf.c from newlib:

/users/joel/test-gcc/b-arm-eabi-gcc/./gcc/xgcc -B/users/joel/test-gcc/b-arm-eabi-gcc/./gcc/ -g -O2  -mthumb -c ecvtbuf.c 
In file included from ../../../../../../gcc/newlib/libc/stdlib/ecvtbuf.c:71:0:
/users/joel/test-gcc/gcc/newlib/libc/include/stdlib.h: In function 'fcvtbuf':
/users/joel/test-gcc/gcc/newlib/libc/include/stdlib.h:175:8: error: non-trivial conversion at assignment
 char * _EXFUN(fcvtbuf,(double, int, int*, int*, char *));
        ^
sizetype
int
_64 = _37;
/users/joel/test-gcc/gcc/newlib/libc/include/stdlib.h:175:8: internal compiler error: verify_gimple failed
0x9602d1 verify_gimple_in_cfg(function*, bool)
	../../gcc/gcc/tree-cfg.c:5039
0x86fd06 execute_function_todo
	../../gcc/gcc/passes.c:1868
0x870733 execute_todo
	../../gcc/gcc/passes.c:1925
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
Comment 1 Jiong Wang 2014-11-11 15:57:00 UTC
I am bootstrapping aarch64, and run into similar issue, looks like the same root cause.

./gcc/gcc/../libcpp/include  -I../../gcc/gcc/../libdecnumber -I../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc/gcc/../libbacktrace    -o data-streamer-in.o -MT data-streamer-in.o -MMD -MP -MF ./.deps/data-streamer-in.TPo ../../gcc/gcc/data-streamer-in.c
../../gcc/gcc/cse.c: In function ‘rtx_def* fold_rtx(rtx, rtx_insn*)’:
../../gcc/gcc/cse.c:7667:1: error: non-trivial conversion at assignment
 }
 ^
long unsigned int
long int
_929 = _704;
../../gcc/gcc/cse.c:7667:1: error: type mismatch in binary expression
long unsigned int

long int

long unsigned int

_930 = _704 & _706;
../../gcc/gcc/cse.c:7667:1: error: non-trivial conversion at assignment
long unsigned int
long int
_934 = _709;
../../gcc/gcc/cse.c:7667:1: error: type mismatch in binary expression
long unsigned int

long int

long unsigned int

_935 = _709 & _711;
../../gcc/gcc/cse.c:7667:1: internal compiler error: verify_gimple failed
0xf73cf3 verify_gimple_in_cfg(function*, bool)
	../../gcc/gcc/tree-cfg.c:5039
0xe211ff execute_function_todo
	../../gcc/gcc/passes.c:1868
0xe201b3 do_per_function
	../../gcc/gcc/passes.c:1595
0xe21453 execute_todo
	../../gcc/gcc/passes.c:1925
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[3]: *** [cse.o] Error 1
make[3]: *** Waiting for unfinished jobs....
Comment 2 bin cheng 2014-11-12 02:57:32 UTC
Confirm the ICE when building newlib for arm-none-eabi.
Comment 3 bin cheng 2014-11-12 05:08:58 UTC
Mark as duplicated since the other PR gave the guilty revision.

*** This bug has been marked as a duplicate of bug 63821 ***
Comment 4 Jan-Benedict Glaw 2014-11-12 10:30:20 UTC
You can see this bug live in action for about every target when building a native toolchain on gcc112, which is done in preparation for a cross-build with config_list.mk by the build robot: http://toolchain.lug-owl.de/buildbot/timeline.php
Comment 5 Jan-Benedict Glaw 2014-11-13 12:53:35 UTC
Bug seems to be gone.