https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84900
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Obvious one line fix: ``` diff --git a/gcc/fold-const.cc b/gcc/fold-const.cc index 02a24c5fe65..5b9982e3651 100644 --- a/gcc/fold-const.cc +++ b/gcc/fold-const.cc @@ -2646,6 +2646,7 @@ maybe_lvalue_p (const_tree x) case LABEL_DECL: case FUNCTION_DECL: case SSA_NAME: + case COMPOUND_LITERAL_EXPR: case COMPONENT_REF: case MEM_REF: ``` Basically when COMPOUND_LITERAL_EXPR was made a non-language specific tree, the check inside maybe_lvalue_p dealing with language specific trees became ignored and we just need to mark COMPOUND_LITERAL_EXPR as being a maybe_lvalue now.