https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110441
--- Comment #4 from Patrick Palka <ppalka at gcc dot gnu.org> --- (In reply to Patrick Palka from comment #3) > In contrast, '(S(), S::f())' (which should be equivalent) is represented as > a TARGET_EXPR of a COMPOUND_EXPR rather than a COMPOUND_EXPR of a > TARGET_EXPR, and so copy elision is correctly avoided. oops, this should say "is correctly _performed_"