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

--- Comment #13 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
This reduced code crashes with GCC 8 up to trunk:

struct S {
  struct Prefs {
    struct {
      int i = i;
    } p;
    void Load();
  };
};

void S::Prefs::Load() {
  *this = {};
};

$ xg++ -c ff.C
ff.C: In member function ‘void S::Prefs::Load()’:
ff.C:11:12: internal compiler error: in gimplify_expr, at gimplify.cc:15905
   11 |   *this = {};
      |            ^
0x1370253 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        /home/mpolacek/src/gcc/gcc/gimplify.cc:15905
0x13360f8 gimplify_compound_lval
        /home/mpolacek/src/gcc/gcc/gimplify.cc:3272
0x136cfa4 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        /home/mpolacek/src/gcc/gcc/gimplify.cc:15050
0x133bc99 gimplify_init_ctor_preeval
        /home/mpolacek/src/gcc/gcc/gimplify.cc:4781
0x133bc48 gimplify_init_ctor_preeval
        /home/mpolacek/src/gcc/gcc/gimplify.cc:4767
0x133bc48 gimplify_init_ctor_preeval
        /home/mpolacek/src/gcc/gcc/gimplify.cc:4767
0x133d603 gimplify_init_constructor
        /home/mpolacek/src/gcc/gcc/gimplify.cc:5357
0x133e452 gimplify_modify_expr_rhs
        /home/mpolacek/src/gcc/gcc/gimplify.cc:5674
0x133f66f gimplify_modify_expr
        /home/mpolacek/src/gcc/gcc/gimplify.cc:6040
0x136d142 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        /home/mpolacek/src/gcc/gcc/gimplify.cc:15098
0x1343c11 gimplify_stmt(tree_node**, gimple**)
        /home/mpolacek/src/gcc/gcc/gimplify.cc:7151
0x1343164 gimplify_cleanup_point_expr
        /home/mpolacek/src/gcc/gcc/gimplify.cc:6892
0x136ebdb gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*),
int)
        /home/mpolacek/src/gcc/gcc/gimplify.cc:15491
0x1343c11 gimplify_stmt(tree_node**, gimple**)
        /home/mpolacek/src/gcc/gcc/gimplify.cc:7151
0x1371bfb gimplify_body(tree_node*, bool)
        /home/mpolacek/src/gcc/gcc/gimplify.cc:16355
0x13722f8 gimplify_function_tree(tree_node*)
        /home/mpolacek/src/gcc/gcc/gimplify.cc:16509
0x10c08c9 cgraph_node::analyze()
        /home/mpolacek/src/gcc/gcc/cgraphunit.cc:676
0x10c2955 analyze_functions
        /home/mpolacek/src/gcc/gcc/cgraphunit.cc:1241
0x10c5b05 symbol_table::finalize_compilation_unit()
        /home/mpolacek/src/gcc/gcc/cgraphunit.cc:2501

Reply via email to