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

            Bug ID: 70501
           Summary: internal compiler error: in verify_ctor_sanity, at
                    cp/constexpr.c:2249
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mpolacek at gcc dot gnu.org
  Target Milestone: ---

$ ./cc1plus -quiet q.C 
q.C: In function ‘v4si fn1(int)’:
q.C:7:25: internal compiler error: in verify_ctor_sanity, at
cp/constexpr.c:2249
   r = i <= (v4si){(0, 0)};
                         ^
0xa2827f verify_ctor_sanity
        /home/marek/src/gcc/gcc/cp/constexpr.c:2248
0xa28507 cxx_eval_bare_aggregate
        /home/marek/src/gcc/gcc/cp/constexpr.c:2283
0xa2e088 cxx_eval_constant_expression
        /home/marek/src/gcc/gcc/cp/constexpr.c:3762
0xa25f42 cxx_eval_binary_expression
        /home/marek/src/gcc/gcc/cp/constexpr.c:1639
0xa2ddd7 cxx_eval_constant_expression
        /home/marek/src/gcc/gcc/cp/constexpr.c:3695
0xa2f0c5 cxx_eval_outermost_constant_expr
        /home/marek/src/gcc/gcc/cp/constexpr.c:4011
0xa325db potential_constant_expression_1
        /home/marek/src/gcc/gcc/cp/constexpr.c:4983
0xa328af potential_rvalue_constant_expression(tree_node*)
        /home/marek/src/gcc/gcc/cp/constexpr.c:5044
0x8c25c4 cp_parser_constant_expression
        /home/marek/src/gcc/gcc/cp/parser.c:9334
0x8d71d8 cp_parser_initializer_clause
        /home/marek/src/gcc/gcc/cp/parser.c:20791
0x8c1ee4 cp_parser_assignment_expression
        /home/marek/src/gcc/gcc/cp/parser.c:9074
0x8c21be cp_parser_expression
        /home/marek/src/gcc/gcc/cp/parser.c:9222
0x8c5092 cp_parser_expression_statement
        /home/marek/src/gcc/gcc/cp/parser.c:10683
0x8c4c97 cp_parser_statement
        /home/marek/src/gcc/gcc/cp/parser.c:10534
0x8c5561 cp_parser_statement_seq_opt
        /home/marek/src/gcc/gcc/cp/parser.c:10806
0x8c545e cp_parser_compound_statement
        /home/marek/src/gcc/gcc/cp/parser.c:10760
0x8d6dd1 cp_parser_function_body
        /home/marek/src/gcc/gcc/cp/parser.c:20653
0x8d6f9b cp_parser_ctor_initializer_opt_and_function_body
        /home/marek/src/gcc/gcc/cp/parser.c:20689
0x8dfd99 cp_parser_function_definition_after_declarator
        /home/marek/src/gcc/gcc/cp/parser.c:25351
0x8dfb9d cp_parser_function_definition_from_specifiers_and_declarator
        /home/marek/src/gcc/gcc/cp/parser.c:25263
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

$ cat q.C
typedef int v4si __attribute__ ((vector_size (16)));

v4si
fn1 (int i)
{
  v4si r;
  r = i <= (v4si){(0, 0)};
  return r;
}

v4si
fn2 (int i)
{
  struct S { v4si v; };
  struct S s = { .v = i <= (v4si){(0, 0)} };
  return s.v;
}

Reply via email to