https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83896
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[8 Regression] ice in |[8 Regression] ice in |tree_to_shwi, at |get_string_len on a call to |tree.c:6847 |strlen with non-constant | |length --- Comment #3 from Martin Sebor <msebor at gcc dot gnu.org> --- Reduced/cleaned up test case: $ cat pr83896.c && gcc -O2 -S pr83896.c extern char a[5]; extern char b[]; void f (void) { if (__builtin_strlen (b) != 4) __builtin_memcpy (a, b, sizeof a); } during GIMPLE pass: strlen pr83896.c: In function âfâ: pr83896.c:4:6: internal compiler error: in tree_to_shwi, at tree.c:6806 void f (void) ^ 0x13469cc tree_to_shwi(tree_node const*) /ssd/src/gcc/git-svn/gcc/tree.c:6806 0x122cefe get_string_len /ssd/src/gcc/git-svn/gcc/tree-ssa-strlen.c:2793 0x122d653 handle_char_store /ssd/src/gcc/git-svn/gcc/tree-ssa-strlen.c:2970 0x122efde strlen_check_and_optimize_stmt /ssd/src/gcc/git-svn/gcc/tree-ssa-strlen.c:3307 0x122f66f strlen_dom_walker::before_dom_children(basic_block_def*) /ssd/src/gcc/git-svn/gcc/tree-ssa-strlen.c:3470 0x1aeb6df dom_walker::walk(basic_block_def*) /ssd/src/gcc/git-svn/gcc/domwalk.c:308 0x122f900 execute /ssd/src/gcc/git-svn/gcc/tree-ssa-strlen.c:3550 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.