warnings about unused shared_ptr/unique_ptr comparisons

Jonathan Wakely jwakely@redhat.com
Mon Jan 14 20:41:00 GMT 2019

On 14/01/19 16:53 +0100, Ulrich Drepper wrote:
>This is a conservative implementation of a patch to make
>shared/unique_ptrs behave more like plain old pointers.  More about this
>in bug #88738
>The summary is
>- using clang, which enables a warning for unused results of all
>comparison operation, found a real bug
>- a library implementation is limited in scope and tedious to add
>everywhere. At this stage of gcc 9 it was the only acceptable solution,
>- longer term there should be a warning for comparison operators.
>Possibly on by default with the possibility to disable it with an
>attribute (see the discussion in the bug).
>The patch proposed here only changes the code for C++17 and up to use
>the [[nodiscard]] attribute.  For gcc 10 we can either widen this or
>implement a better way with the help of the compiler.
>I ran the regression test suite and didn't see any additional failures.

As it only makes changes for C++17 and up, this is OK for trunk now.

More information about the Libstdc++ mailing list