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

            Bug ID: 84665
           Summary: internal compiler error: in build_value_init, at
                    cp/init.c:343
           Product: gcc
           Version: 8.0.1
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vegard.nossum at gmail dot com
                CC: webrown.cpp at gmail dot com
  Target Milestone: ---

Input:

struct {
} a[1];

template<int &&>
void b() {
        __attribute__((noinline(a[0]))) int c = 0;
}

Output:

$ xgcc -x c++ -S -
<stdin>: In function 'void b()':
<stdin>:6:38: internal compiler error: in build_value_init, at cp/init.c:343
0xcfbe2b build_value_init(tree_node*, int)
        /home/vegard/git/gcc/gcc/cp/init.c:342
0xa47056 cxx_eval_array_reference
        /home/vegard/git/gcc/gcc/cp/constexpr.c:2458
0xa339b0 cxx_eval_constant_expression
        /home/vegard/git/gcc/gcc/cp/constexpr.c:4470
0xa4e0da cxx_eval_outermost_constant_expr
        /home/vegard/git/gcc/gcc/cp/constexpr.c:4827
0xa5b966 maybe_constant_value(tree_node*, tree_node*)
        /home/vegard/git/gcc/gcc/cp/constexpr.c:5044
0xc43ac2 cp_check_const_attributes
        /home/vegard/git/gcc/gcc/cp/decl2.c:1415
0xc43ac2 cplus_decl_attributes(tree_node**, tree_node*, int)
        /home/vegard/git/gcc/gcc/cp/decl2.c:1531
0xc1974a start_decl(cp_declarator const*, cp_decl_specifier_seq*, int,
tree_node*, tree_node*, tree_node**)
        /home/vegard/git/gcc/gcc/cp/decl.c:5050
0xfa391c cp_parser_init_declarator
        /home/vegard/git/gcc/gcc/cp/parser.c:19591
0xfa9757 cp_parser_simple_declaration
        /home/vegard/git/gcc/gcc/cp/parser.c:13063
0xfaf948 cp_parser_block_declaration
        /home/vegard/git/gcc/gcc/cp/parser.c:12881
0xfb1e14 cp_parser_declaration_statement
        /home/vegard/git/gcc/gcc/cp/parser.c:12474
0xefdd8b cp_parser_statement
        /home/vegard/git/gcc/gcc/cp/parser.c:10923
0xf0184b cp_parser_statement_seq_opt
        /home/vegard/git/gcc/gcc/cp/parser.c:11272
0xf022ea cp_parser_compound_statement
        /home/vegard/git/gcc/gcc/cp/parser.c:11226
0xf967eb cp_parser_function_body
        /home/vegard/git/gcc/gcc/cp/parser.c:21769
0xf967eb cp_parser_ctor_initializer_opt_and_function_body
        /home/vegard/git/gcc/gcc/cp/parser.c:21804
0xf9f9f5 cp_parser_function_definition_after_declarator
        /home/vegard/git/gcc/gcc/cp/parser.c:26809
0xfa604d cp_parser_function_definition_from_specifiers_and_declarator
        /home/vegard/git/gcc/gcc/cp/parser.c:26726
0xfa604d cp_parser_init_declarator
        /home/vegard/git/gcc/gcc/cp/parser.c:19493

$ xgcc --version
xgcc (GCC) 8.0.1 20180301 (experimental)

Built from git c435a9e730c6e8f10da09d58b4fc9aaeb401b0d5 (r258097).

Seems to have appeared between 6.3.0 and 7.1.0.

Test case was minimised by C-Reduce.

Reply via email to