This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] fix docs for C++ warn_unused type attribute


https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Attributes.html says
that attribute((warn_unused)) is not useful for std::mutex because it
controls a resource. That's incorrect, std::mutex *is* a resource, but
it doesn't control one. In fact declaring std::mutex as a local
variable and then never using it almost certainly is a mistake,
because it won't be locked unless you use it.

A better example of a type that controls a resource would be
std::lock_guard, which you would typically construct and then never
refer to again (because everything interesting happens in the
constructor and destructor).

OK for trunk?


commit 01e62a231d9a446130fec253a2001f1e844e184c
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Wed Feb 17 14:08:39 2016 +0000

    	* doc/extend.texi (C++ Attributes): Correct description of
    	warn_unused type attribute.

diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 78017fe..476d089 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -20313,7 +20313,7 @@ types.
 
 This attribute is appropriate for types which just represent a value,
 such as @code{std::string}; it is not appropriate for types which
-control a resource, such as @code{std::mutex}.
+control a resource, such as @code{std::lock_guard}.
 
 This attribute is also accepted in C, but it is unnecessary because C
 does not have constructors or destructors.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]