https://gcc.gnu.org/bugzilla/show_bug.cgi?id=12411
Rafael Avila de Espindola <rafael at espindo dot la> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rafael at espindo dot la --- Comment #7 from Rafael Avila de Espindola <rafael at espindo dot la> --- I think we just hit a case similar to this bug where it would be nice get a warning. Given ------------------------- struct foo { void bar(int); }; foo get_foo(int); void g() { int a = 0; get_foo(a).bar(a++); } ------------------------ GCC will warn about the value of a. If instead of an integer we have an object, like in -------------------------------- #include <utility> struct zed { zed(); zed(const zed&); zed(zed&&); }; struct foo { void bar(zed); }; foo get_foo(zed); void g() { zed a; get_foo(a).bar(std::move(a)); } -------------------------------- GCC produces no warning. Let me know if I should report a new bug instead.