https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67906
--- Comment #6 from Eric Gallager <egall at gwmail dot gwu.edu> --- On 8/24/17, Mykola Orliuk <virk...@gmail.com> wrote: > Hello > > Sure, > > struct Value { > Value(); > Value(const Value&); > Value(Value&&); > }; > > struct Frame { > Value value; // previously mutable > }; > > Frame top; > const Frame& x = top; > Value y = std::move(x.value); > > > https://godbolt.org/g/v24FfQ > > Thank you for looking into it. Yes, there should be better names than > -Wno-effect. Maybe -Wignored-move and -Wmove-const are slightly better. > > Such warning will help to identify places which become ineffecient after > changing constness of something. > > P.S. By some reason I were not able to leave comment in Bugzilla and got > message "User account creation filtered due to spam." though I were logged > in. > No, your comment still went through, 3 times in fact. The "User account creation filtered due to spam" message is pinned to the top for display to everyone; it doesn't actually mean that anything is wrong with your account. > Thank you, > Mykola > > On Thu, Aug 24, 2017 at 7:40 AM egallager at gcc dot gnu.org < > gcc-bugzi...@gcc.gnu.org> wrote: > >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67906 >> >> Eric Gallager <egallager at gcc dot gnu.org> changed: >> >> What |Removed |Added >> >> ---------------------------------------------------------------------------- >> Keywords| |diagnostic >> Status|UNCONFIRMED |WAITING >> Last reconfirmed| |2017-08-24 >> CC| |egallager at gcc dot >> gnu.org >> Ever confirmed|0 |1 >> >> --- Comment #1 from Eric Gallager <egallager at gcc dot gnu.org> --- >> Could you please provide a complete self-contained example? The snippet >> you >> posted looks like it's missing some declarations: >> >> $ /usr/local/bin/g++ -c 67906.cc >> 67906.cc:1:7: error: ‘Frame’ does not name a type >> const Frame& x = stack.top(); >> ^~~~~ >> 67906.cc:2:1: error: ‘Value’ does not name a type >> Value y = std::move(x.value); // x.value - non-mutable >> ^~~~~ >> $ >> >> Anyways, bug 81159 is related, but that's about a different misuse of >> std::move, so I'll keep the 2 separate. >> >> Oh, and also "-Wno-effect" would probably be a bad name for the option, >> since >> "-Wno-" is reserved for negative versions of warnings. i.e., is >> "-Wno-effect" >> the negative of "-Weffect"? That seems wrong. Or is it already in the >> positive, >> in which case the negative is "-Wno-no-effect"? That would seem >> redundant. >> >> -- >> You are receiving this mail because: >> You reported the bug. >