https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89106
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2019-01-29 Ever confirmed|0 |1 --- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> --- It does look seem the change went a step too far in describing the feature's similarity to compound literals. It probably should have been limited to removing the mention of a constructor and correcting the part about normal casts yielding an lvalue. I.e., it should have replaced the sentence A cast to union is actually a constructor, not a cast, and hence does not yield an lvalue like normal casts. with one like: A cast to a union creates a compound literal but yields an rvalue like standard casts do. How does that look? (I suspect the part about a constructor in the original text might have been a reference to GCC's internal representation of the cast as a CONSTRUCTOR and didn't have anything to do with C++ constructors because those do yield lvalues.)