https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87886
Bug ID: 87886
Summary: ICE in format_helper, at real.h:227
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: [email protected]
Target Milestone: ---
With option -Ofast or -ffast-math, down to at least gcc-5 :
$ cat z1.c
extern double sqrt (x);
int f (int x)
{
return sqrt(x) < 1.0;
}
$ gcc-9-20181104 -c z1.c -Ofast
z1.c:1:1: warning: parameter names (without types) in function declaration
1 | extern double sqrt (x);
| ^~~~~~
z1.c: In function 'f':
z1.c:4:3: internal compiler error: in format_helper, at real.h:227
4 | return sqrt(x) < 1.0;
| ^~~~~~
0xe5fc01 format_helper::format_helper<machine_mode>(machine_mode const&)
../../gcc/real.h:227
0xe5fc01 generic_simplify_47
<path>/gcc/generic-match.c:2546
0xe6e5d6 generic_simplify_LT_EXPR
<path>/gcc/generic-match.c:44235
0xeadead generic_simplify(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
<path>/gcc/generic-match.c:52146
0x7ebbce fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
../../gcc/fold-const.c:9364
0x7f203a fold_build2_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
../../gcc/fold-const.c:12336
0x62f1f3 c_fully_fold_internal
../../gcc/c/c-fold.c:370
0x62fd09 c_fully_fold(tree_node*, bool, bool*, bool)
../../gcc/c/c-fold.c:125
0x5f728d c_finish_return(unsigned int, tree_node*, tree_node*)
../../gcc/c/c-typeck.c:10252
0x6255b3 c_parser_statement_after_labels
../../gcc/c/c-parser.c:5475
0x627060 c_parser_compound_statement_nostart
../../gcc/c/c-parser.c:5100
0x6277d6 c_parser_compound_statement
../../gcc/c/c-parser.c:4934
0x628f3a c_parser_declaration_or_fndef
../../gcc/c/c-parser.c:2347
0x62d113 c_parser_external_declaration
../../gcc/c/c-parser.c:1648
0x62dbd9 c_parser_translation_unit
../../gcc/c/c-parser.c:1529
0x62dbd9 c_parse_file()
../../gcc/c/c-parser.c:18561
0x671e30 c_common_parse_file()
../../gcc/c-family/c-opts.c:1150