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

--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
This reduced test actually regressed with r241187:

struct A {
  A(A &);
};
struct B : A { };

A foo ();

int
main ()
{
  B{foo()};
}

$ ./cc1plus -quiet x.C -std=c++17
during RTL pass: expand
x.C: In function ‘int main()’:
x.C:11:3: internal compiler error: in assign_temp, at function.c:984
   11 |   B{foo()};
      |   ^~~~~~~~
0x105cdf1 assign_temp(tree_node*, int, int)
        /home/mpolacek/src/gcc/gcc/function.c:984
0xdf123d expand_call(tree_node*, rtx_def*, int)
        /home/mpolacek/src/gcc/gcc/calls.c:3825
0xfe98d5 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        /home/mpolacek/src/gcc/gcc/expr.c:11135
0xfdc3d9 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier,
rtx_def**, bool)
        /home/mpolacek/src/gcc/gcc/expr.c:8358
0xfbb233 expand_normal
        /home/mpolacek/src/gcc/gcc/expr.h:288
0xfd7588 store_field
        /home/mpolacek/src/gcc/gcc/expr.c:7102
0xfcf3c6 expand_assignment(tree_node*, tree_node*, bool)
        /home/mpolacek/src/gcc/gcc/expr.c:5374
0xe12534 expand_call_stmt
        /home/mpolacek/src/gcc/gcc/cfgexpand.c:2701
0xe15cab expand_gimple_stmt_1
        /home/mpolacek/src/gcc/gcc/cfgexpand.c:3682
0xe1634a expand_gimple_stmt
        /home/mpolacek/src/gcc/gcc/cfgexpand.c:3847
0xe1e4f9 expand_gimple_basic_block
        /home/mpolacek/src/gcc/gcc/cfgexpand.c:5887
0xe2013b execute
        /home/mpolacek/src/gcc/gcc/cfgexpand.c:6542
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