https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89703
Bug ID: 89703 Summary: [9 Regression] ICE in compare_values_warnv, at tree-vrp.c:997 Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: gs...@t-online.de Target Milestone: --- Started with gcc-9 (before 20180429), at -O2+ : $ cat z1.c typedef __SIZE_TYPE__ size_t; extern char* strlen (const char*); extern char* strnlen (const char*, size_t); char** q; void foo () { extern char c[2]; q[0] = strlen (c); q[1] = strnlen (c, 2); } $ gcc-9-20190310 -c z1.c -O1 $ $ gcc-9-20190310 -c z1.c -O2 during GIMPLE pass: vrp z1.c: In function 'foo': z1.c:5:6: internal compiler error: in compare_values_warnv, at tree-vrp.c:997 5 | void foo () | ^~~ 0xcac6cf compare_values_warnv(tree_node*, tree_node*, bool*) ../../gcc/tree-vrp.c:996 0xd094be compare_range_with_value ../../gcc/vr-values.c:1651 0xd0e136 vr_values::vrp_evaluate_conditional_warnv_with_ops_using_ranges(tree_code, tree_node*, tree_node*, bool*) ../../gcc/vr-values.c:2283 0xd0f814 vr_values::simplify_min_or_max_using_ranges(gimple_stmt_iterator*, gimple*) ../../gcc/vr-values.c:3201 0xd133bd vr_values::simplify_stmt_using_ranges(gimple_stmt_iterator*) ../../gcc/vr-values.c:4259 0xbd9d86 substitute_and_fold_dom_walker::before_dom_children(basic_block_def*) ../../gcc/tree-ssa-propagate.c:1082 0x117e7f4 dom_walker::walk(basic_block_def*) ../../gcc/domwalk.c:353 0xbd9323 substitute_and_fold_engine::substitute_and_fold(basic_block_def*) ../../gcc/tree-ssa-propagate.c:1194 0xcab87e vrp_prop::vrp_finalize(bool) ../../gcc/tree-vrp.c:6709 0xcb9114 execute_vrp ../../gcc/tree-vrp.c:6780 Configured with --enable-checking=yes : $ gcc-9-20190310 -c z1.c -O2 z1.c: In function 'foo': z1.c:5:6: error: type mismatch in binary expression 5 | void foo () | ^~~ char * char * size_t _3 = MIN_EXPR <_2, 2>; during GIMPLE pass: strlen z1.c:5:6: internal compiler error: verify_gimple failed 0xc7b93f verify_gimple_in_cfg(function*, bool) ../../gcc/tree-cfg.c:5434 0xb37926 execute_function_todo ../../gcc/passes.c:1977 0xb38962 execute_todo ../../gcc/passes.c:2031