[Bug c/90648] New: [8/9/10 Regression] ICE tree check: accessed operand 4 of call_expr with 3 operands in generic_simplify_MULT_EXPR, at generic-match.c:27222

gscfq@t-online.de gcc-bugzilla@gcc.gnu.org
Mon May 27 17:52:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90648

            Bug ID: 90648
           Summary: [8/9/10 Regression] ICE tree check: accessed operand 4
                    of call_expr with 3 operands in
                    generic_simplify_MULT_EXPR, at generic-match.c:27222
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gscfq@t-online.de
  Target Milestone: ---

Started with gcc-8, compiles with gcc-7 :


$ cat z1.c
extern _Float128 copysignf128 ();
_Float128 foo (_Float128 x)
{
  return x * copysignf128 ();
}


$ cat z2.c
extern _Float128 copysignf128 (x);
double foo (double x)
{
  return x * copysignf128 ();
}


$ gcc-7 -c z1.c
$
$ gcc-10-20190526 -c z1.c
z1.c: In function 'foo':
z1.c:4:14: warning: too few arguments to built-in function 'copysignf128'
expecting 2 [-Wbuiltin-declaration-mismatch]
    4 |   return x * copysignf128 ();
      |              ^~~~~~~~~~~~
z1.c:1:18: note: declared here
    1 | extern _Float128 copysignf128 ();
      |                  ^~~~~~~~~~~~
z1.c:4:3: internal compiler error: tree check: accessed operand 4 of call_expr
with 3 operands in generic_simplify_MULT_EXPR, at generic-match.c:27222
    4 |   return x * copysignf128 ();
      |   ^~~~~~
0x5bd990 tree_operand_check_failed(int, tree_node const*, char const*, int,
char const*)
        ../../gcc/tree.c:10116
0x64cbb1 tree_operand_check(tree_node*, int, char const*, int, char const*)
        ../../gcc/tree.h:3685
0x116a717 generic_simplify_MULT_EXPR
        .../gcc/generic-match.c:27222
0x11da8fd generic_simplify(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
        .../gcc/generic-match.c:53387
0x8d49dd fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
        ../../gcc/fold-const.c:9387
0x8ddeba fold_build2_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
        ../../gcc/fold-const.c:12327
0x8d4c1d fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
        ../../gcc/fold-const.c:9379
0x8f6ef4 fold(tree_node*)
        ../../gcc/fold-const.c:11949
0x683cca c_fully_fold_internal
        ../../gcc/c/c-fold.c:373
0x6850a7 c_fully_fold(tree_node*, bool, bool*, bool)
        ../../gcc/c/c-fold.c:125
0x629175 c_finish_return(unsigned int, tree_node*, tree_node*)
        ../../gcc/c/c-typeck.c:10523
0x673c3a c_parser_statement_after_labels
        ../../gcc/c/c-parser.c:5524
0x6757ce c_parser_compound_statement_nostart
        ../../gcc/c/c-parser.c:5149
0x675f56 c_parser_compound_statement
        ../../gcc/c/c-parser.c:4983
0x677873 c_parser_declaration_or_fndef
        ../../gcc/c/c-parser.c:2355
0x67fea3 c_parser_external_declaration
        ../../gcc/c/c-parser.c:1653
0x680969 c_parser_translation_unit
        ../../gcc/c/c-parser.c:1534
0x680969 c_parse_file()
        ../../gcc/c/c-parser.c:19884
0x6e26d0 c_common_parse_file()
        ../../gcc/c-family/c-opts.c:1156


More information about the Gcc-bugs mailing list