https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102335

            Bug ID: 102335
           Summary: gcc misses -Wunused-value
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vanyacpp at gmail dot com
  Target Milestone: ---

struct mytype
{
    int memfun [[gnu::pure]] ();
};

void test()
{
    mytype x;
    x.memfun();        // -Wunused-value
    mytype().memfun(); // no -Wunused-value
}

https://godbolt.org/z/vc49jWGqn

The code above contains two usages of a [[gnu::pure]] function with ignored
return value. GCC detect only the first one. I believe the second one deserves
a warning too.

Clang shows a warning on both usages.

Reply via email to