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

            Bug ID: 92416
           Summary: ICE with spaceship and vector types
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: redi at gcc dot gnu.org
  Target Milestone: ---

constexpr auto
cmp()
{
  [[gnu::vector_size(4)]] int i = { };
  return i <=> i;
}

static_assert( cmp() );

With recent trunk and -std=gnu+2a this crashes:

ice.cc: In function 'constexpr auto cmp()':
ice.cc:6:1: internal compiler error: Segmentation fault
    6 | }
      | ^
0xf802af crash_signal
        /home/jwakely/src/gcc/gcc/gcc/toplev.c:329
0x60cd8f tree_check(tree_node const*, char const*, int, char const*, tree_code)
        /home/jwakely/src/gcc/gcc/gcc/tree.h:3522
0x60cd8f id_equal(tree_node const*, char const*)
        /home/jwakely/src/gcc/gcc/gcc/tree.h:3810
0x60cd8f is_cat
        /home/jwakely/src/gcc/gcc/gcc/cp/method.c:1000
0x9409b2 cat_tag_for
        /home/jwakely/src/gcc/gcc/gcc/cp/method.c:1011
0x9409b2 genericize_spaceship(tree_node*, tree_node*, tree_node*)
        /home/jwakely/src/gcc/gcc/gcc/cp/method.c:1048
0x8ae59a genericize_spaceship
        /home/jwakely/src/gcc/gcc/gcc/cp/cp-gimplify.c:1155
0x8ae59a cp_genericize_r
        /home/jwakely/src/gcc/gcc/gcc/cp/cp-gimplify.c:1589
0x124501b walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/jwakely/src/gcc/gcc/gcc/tree.c:11946
0x124572d walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/jwakely/src/gcc/gcc/gcc/tree.c:12276
0x1245690 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/jwakely/src/gcc/gcc/gcc/tree.c:12051
0x8aee2b cp_genericize_r
        /home/jwakely/src/gcc/gcc/gcc/cp/cp-gimplify.c:1398
0x124501b walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        /home/jwakely/src/gcc/gcc/gcc/tree.c:11946
0x8ab0c8 cp_genericize_tree
        /home/jwakely/src/gcc/gcc/gcc/cp/cp-gimplify.c:1706
0x8ab362 cp_genericize(tree_node*)
        /home/jwakely/src/gcc/gcc/gcc/cp/cp-gimplify.c:1855
0x8e9f3a finish_function(bool)
        /home/jwakely/src/gcc/gcc/gcc/cp/decl.c:16957
0x995bcf cp_parser_function_definition_after_declarator
        /home/jwakely/src/gcc/gcc/gcc/cp/parser.c:28564
0x9969d3 cp_parser_function_definition_from_specifiers_and_declarator
        /home/jwakely/src/gcc/gcc/gcc/cp/parser.c:28477
0x9969d3 cp_parser_init_declarator
        /home/jwakely/src/gcc/gcc/gcc/cp/parser.c:20495
0x976482 cp_parser_simple_declaration
        /home/jwakely/src/gcc/gcc/gcc/cp/parser.c:13624
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to