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

            Bug ID: 108174
           Summary: ICE: tree check: expected function_type or
                    method_type, have ggc_freed in
                    aarch64_resolve_overloaded_memtag, at
                    config/aarch64/aarch64-builtins.cc:3349
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: aarch64-linux-gnu

gcc 13.0.0 20221211 snapshot (g:fd69977febf399d1992bbf8d66ae9170e0a4dc9f) ICEs
when compiling gcc/testsuite/gcc.target/aarch64/acle/memtag_2.c w/
-march=armv9-a+memtag -std=c2x -fopenmp -g --param ggc-min-expand=3 --param
ggc-min-heapsize=1 (but these options seem to be host or target-dependent).
Full compiler output with Valgrind report is attached, as it is a bit bulky to
post it inline. I've tried to reduce the testcase, but could remove only a
couple of lines.

% aarch64-linux-gnu-gcc-13 -march=armv9-a+memtag -std=c2x -fopenmp -g -w
--param ggc-min-expand=3 --param ggc-min-heapsize=1 -c
gcc/testsuite/gcc.target/aarch64/acle/memtag_2.c
<diagnostics trimmed>
gcc/testsuite/gcc.target/aarch64/acle/memtag_2.c:67:3: internal compiler error:
tree check: expected function_type or method_type, have ggc_freed in
aarch64_resolve_overloaded_memtag, at config/aarch64/aarch64-builtins.cc:3349
   67 |   __arm_mte_ptrdiff(no_decl2, 0);       /* { dg-error {} } */
      |   ^~~~~~~~~~~~~~~~~
0x7c8d41 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/tree.cc:8822
0x7ef700 tree_check2(tree_node*, char const*, int, char const*, tree_code,
tree_code)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/tree.h:3547
0x7ef700 aarch64_resolve_overloaded_memtag
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/config/aarch64/aarch64-builtins.cc:3349
0x7ef700 aarch64_resolve_overloaded_builtin_general(unsigned int, tree_node*,
void*)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/config/aarch64/aarch64-builtins.cc:3432
0x9b95ce aarch64_resolve_overloaded_builtin
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/config/aarch64/aarch64-c.cc:317
0x8d51c7 c_build_function_call_vec(unsigned int, vec<unsigned int, va_heap,
vl_ptr> const&, tree_node*, vec<tree_node*, va_gc, vl_embed>*, vec<tree_node*,
va_gc, vl_embed>*)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/c/c-typeck.cc:3383
0x8f6511 c_parser_postfix_expression_after_primary
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/c/c-parser.cc:11245
0x8ec4d4 c_parser_postfix_expression
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/c/c-parser.cc:10857
0x8f09da c_parser_unary_expression
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/c/c-parser.cc:8840
0x8f257b c_parser_cast_expression
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/c/c-parser.cc:8681
0x8f2872 c_parser_binary_expression
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/c/c-parser.cc:8449
0x8f3d0e c_parser_conditional_expression
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/c/c-parser.cc:8147
0x8f4557 c_parser_expr_no_commas
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/c/c-parser.cc:8061
0x8f4821 c_parser_expression
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/c/c-parser.cc:11385
0x8f4feb c_parser_expression_conv
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/c/c-parser.cc:11425
0x8e9957 c_parser_statement_after_labels
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/c/c-parser.cc:6790
0x8ebeb4 c_parser_compound_statement_nostart
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/c/c-parser.cc:6305
0x912224 c_parser_compound_statement
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/c/c-parser.cc:6114
0x9143d1 c_parser_declaration_or_fndef
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/c/c-parser.cc:2850
0x91bf53 c_parser_external_declaration
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20221218/work/gcc-13-20221218/gcc/c/c-parser.cc:1925

Reply via email to