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

            Bug ID: 118021
           Summary: [15 regression] ICE in parser
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: liuhongt at gcc dot gnu.org
  Target Milestone: ---

cat test.i

class a;
class b {
public:
  ~b();
};
template <typename c, typename e> void d(c, c, e);
class h : b {
  int f;
};
template <class g> class autovector {
public:
  using i = g;
  template <class, class> class j {};
  using iterator = j<autovector, i>;
  iterator begin();
  iterator end();
};
void k(h icmp) {
  autovector<a> l;
  d(l.begin(), l.end(), [icmp] {});
}


g++ -O2 test.i -S 

testcase.i: In function ‘void k(h)’:
testcase.i:21:1: internal compiler error: in cxx_eval_outermost_constant_expr,
at cp/constexpr.cc:8958
   21 | }
      | ^
0x31a8606 internal_error(char const*, ...)
        ./master/gcc/diagnostic-global-context.cc:517
0x100d1e2 fancy_abort(char const*, int, char const*)
        ./master/gcc/diagnostic.cc:1704
0x7adcd7 cxx_eval_outermost_constant_expr
        ./gcc/cp/constexpr.cc:8958
0x1086cb3 maybe_constant_init_1
        ./masterr/gcc/cp/constexpr.cc:9484
0x10b239d cp_fold_r
        ./master/gcc/cp/cp-gimplify.cc:1480
0x1d6597c 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*> >*))
        ./master/gcc/tree.cc:11526
0x1d6606d 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*> >*))
        ./master/gcc/tree.cc:11642
0x10aa173 cp_fold_function(tree_node*)
        ./master/gcc/cp/cp-gimplify.cc:1513
0x10f8bc1 finish_function(bool)
        ./master/gcc/cp/decl.cc:19144
0x1212336 cp_parser_function_definition_after_declarator
        ./master/gcc/cp/parser.cc:33368
0x121353f cp_parser_function_definition_from_specifiers_and_declarator
        ./master/gcc/cp/parser.cc:33282
0x121353f cp_parser_init_declarator
        ./master/gcc/cp/parser.cc:23838
0x1219433 cp_parser_simple_declaration
        ./master/gcc/cp/parser.cc:16360
0x1224561 cp_parser_declaration
        ./master/gcc/cp/parser.cc:16033
0x122506a cp_parser_toplevel_declaration
        ./master/gcc/cp/parser.cc:16054
0x122506a cp_parser_translation_unit
       ./master/gcc/cp/parser.cc:5353
0x122506a c_parse_file()
        ./master/gcc/cp/parser.cc:53085
0x1384299 c_common_parse_file()
        ./master/gcc/c-family/c-opts.cc:1389
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

on x86-64-pc-linux-gnu.

Reply via email to