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] Avoid warning when unused attribute applied to C++ member variables (issue8212043)


This patch allows the unused attribute to be used without warning
on C++ class members, which are of type FIELD_DECL. This is for
compatibility with clang, which allows the attribute to be specified on
class members and struct fields. It looks like more work would need to
be done to implement the actual unused variable detection and warning
on FIELD_DECLs, but this change will at least avoid the warning on the 
code that uses the unused attribute in these cases. The documentation at 
http://gcc.gnu.org/onlinedocs/gcc/Variable-Attributes.html also doesn't
seem to preclude its use on C++ member variables.

Bootstrapped and tested on x86-64-unknown-linux-gnu. Ok for trunk?

2013-03-30  Teresa Johnson  <tejohnson@google.com>

	* c-family/c-common.c (handle_unused_attribute): Handle
        FIELD_DECL for C++ class members.

Index: c-family/c-common.c
===================================================================
--- c-family/c-common.c	(revision 197266)
+++ c-family/c-common.c	(working copy)
@@ -6753,6 +6753,7 @@ handle_unused_attribute (tree *node, tree name, tr
 
       if (TREE_CODE (decl) == PARM_DECL
 	  || TREE_CODE (decl) == VAR_DECL
+	  || TREE_CODE (decl) == FIELD_DECL
 	  || TREE_CODE (decl) == FUNCTION_DECL
 	  || TREE_CODE (decl) == LABEL_DECL
 	  || TREE_CODE (decl) == TYPE_DECL)

--
This patch is available for review at http://codereview.appspot.com/8212043


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