[prev in list] [next in list] [prev in thread] [next in thread]
List: gcc-bugs
Subject: [Bug tree-optimization/91570] [10 Regression] ICE in get_range_strlen_dynamic on a conditional of tw
From: "marxin at gcc dot gnu.org" <gcc-bugzilla () gcc ! gnu ! org>
Date: 2019-08-31 16:33:40
Message-ID: bug-91570-4-ikDKeCDuk0 () http ! gcc ! gnu ! org/bugzilla/
[Download RAW message or body]
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91570
--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
One more test-case with a bit different backtrace:
$ cat ice.i
int a;
int fprintf(int *, char *, ...);
char *strcat();
char *strrchr();
void store_sif(outname, src, offset, incr, height) char *outname;
char src;
int offset, incr, height;
{
char *b, *c, *d = outname, *e = strrchr(d, '/');
strcat(outname, ".SIF");
b = e ?: d;
c = b;
fprintf(&a, "saving %s\n", c);
}
$ gcc ice.i -c -O2
during GIMPLE pass: strlen
ice.i: In function ‘store_sif':
ice.i:5:6: internal compiler error: tree check: expected integer_cst, have
plus_expr in get_len, at tree.h:5826
5 | void store_sif(outname, src, offset, incr, height) char *outname;
| ^~~~~~~~~
0x72ffde tree_check_failed(tree_node const*, char const*, int, char const*,
...)
/home/marxin/Programming/gcc/gcc/tree.c:9925
0x70e3d9 get_range_strlen_dynamic
/home/marxin/Programming/gcc/gcc/tree.h:3519
0xf69eb3 get_range_strlen_dynamic(tree_node*, c_strlen_data*, vr_values const*)
/home/marxin/Programming/gcc/gcc/tree-ssa-strlen.c:1037
0x161aec6 get_string_length
/home/marxin/Programming/gcc/gcc/gimple-ssa-sprintf.c:1980
0x161aec6 format_string
/home/marxin/Programming/gcc/gcc/gimple-ssa-sprintf.c:2170
0x161b856 format_directive
/home/marxin/Programming/gcc/gcc/gimple-ssa-sprintf.c:2730
0x161f2b3 compute_format_length
/home/marxin/Programming/gcc/gcc/gimple-ssa-sprintf.c:3532
0x161f2b3 handle_printf_call(gimple_stmt_iterator*, vr_values const*)
/home/marxin/Programming/gcc/gcc/gimple-ssa-sprintf.c:4199
0xf700d7 strlen_check_and_optimize_call
/home/marxin/Programming/gcc/gcc/tree-ssa-strlen.c:4459
0xf700d7 check_and_optimize_stmt
/home/marxin/Programming/gcc/gcc/tree-ssa-strlen.c:4595
0xf700d7 strlen_dom_walker::before_dom_children(basic_block_def*)
/home/marxin/Programming/gcc/gcc/tree-ssa-strlen.c:4822
0x15d73a7 dom_walker::walk(basic_block_def*)
/home/marxin/Programming/gcc/gcc/domwalk.c:309
0xf652d9 printf_strlen_execute
/home/marxin/Programming/gcc/gcc/tree-ssa-strlen.c:4888
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.=
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic