https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91363
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |mpolacek at gcc dot gnu.org --- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Working on it. This test now runs fine with -std=c++2a with my WIP patch: struct A { int i; int j; int k; // value-init }; int i; A a(1, 2); A a2(1.0, 2); A a3(++i, ++i); // left-to-right eval int main () { if (a.i != 1 || a.j != 2 || a.k != 0) __builtin_abort (); if (a2.i != 1 || a2.j != 2 || a.k != 0) __builtin_abort (); if (a3.i != 1 || a3.j != 2 || a.k != 0) __builtin_abort (); }