https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79536
Bug ID: 79536
Summary: ICE in fold_binary_loc, at fold-const.c:9060
Product: gcc
Version: 7.0.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: [email protected]
Target Milestone: ---
Affects versions down to at least 4.8 (on x86_64 GNU/Linux) :
$ cat z1.c
typedef int A;
void fn1 (A x, A y)
{
if ( (x+(x-y)*1i) != -(-x+(y-x)*1i) );
}
$ gcc-7-20170212 -c z1.c
z1.c: In function 'fn1':
z1.c:4:3: internal compiler error: in fold_binary_loc, at fold-const.c:9060
if ( (x+(x-y)*1i) != -(-x+(y-x)*1i) );
^~
0x8fc0af fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
../../gcc/fold-const.c:9057
0x904faa fold_build2_stat_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
../../gcc/fold-const.c:12242
0x90ff0a fold_negate_expr
../../gcc/fold-const.c:583
0x910517 negate_expr
../../gcc/fold-const.c:735
0x8fa3de fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
../../gcc/fold-const.c:9522
0x904faa fold_build2_stat_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
../../gcc/fold-const.c:12242
0x90fc4c fold_negate_expr
../../gcc/fold-const.c:625
0x906c95 fold_unary_loc(unsigned int, tree_code, tree_node*, tree_node*)
../../gcc/fold-const.c:7827
0x916f4c fold(tree_node*)
../../gcc/fold-const.c:11875
0x6e36ea c_fully_fold_internal
../../gcc/c/c-fold.c:412
0x6e492b c_fully_fold(tree_node*, bool, bool*)
../../gcc/c/c-fold.c:90
0x69c7fa build_binary_op(unsigned int, tree_code, tree_node*, tree_node*, int)
../../gcc/c/c-typeck.c:11752
0x69d836 parser_build_binary_op(unsigned int, tree_code, c_expr, c_expr)
../../gcc/c/c-typeck.c:3633
0x6bae1a c_parser_binary_expression
../../gcc/c/c-parser.c:6818
0x6bb2b5 c_parser_conditional_expression
../../gcc/c/c-parser.c:6458
0x6bba10 c_parser_expr_no_commas
../../gcc/c/c-parser.c:6375
0x6bbc92 c_parser_expression
../../gcc/c/c-parser.c:8597
0x6be519 c_parser_expression_conv
../../gcc/c/c-parser.c:8630
0x6be592 c_parser_condition
../../gcc/c/c-parser.c:5421
0x6be627 c_parser_paren_condition
../../gcc/c/c-parser.c:5440