https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77542
--- Comment #2 from afenkart at gmail dot com --- (In reply to Andrew Pinski from comment #1) > Do you have a full example which shows the issue? > In your case does ReturnValue have a copy constructor? > If so this is a dup of bug 38172. Note C++17 defines [[nodiscard]] which > should be used here instead really but it is only implemented in GCC 7. It doesn't seem a duplicate of 38172, since the compiler emits a warning when returning (non-trivial) struct. See attached example.