http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54372
--- Comment #7 from Dodji Seketeli <dodji at gcc dot gnu.org> 2012-09-28 13:32:52 UTC --- Author: dodji Date: Fri Sep 28 13:32:41 2012 New Revision: 191830 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191830 Log: PR c++/54372 - unused attribute inactive on dependant entities In the example of this patch, gcc/g++ invoked with -Wunused-local-typedefs warns on dependant entities even when those are decorated with the 'unused' attribute. This is because in cplus_decl_attributes, save_template_attributes makes so that the 'unused' attribute is applied to its appertaining entity only at instantiation time. But then at parsing time maybe_warn_unused_local_typedefs checks for TREE_USED before warning. This patch applies the 'unused' attribute at compilation time. Tested on x86_64-unknown-linux-gnu against trunk. gcc/cp/ * decl2.c (is_late_template_attribute): "unused" attribute is to be applied at compile time. gcc/testsuite/ * c-c++-common/Wunused-local-typedefs-2.c: New test. Added: trunk/gcc/testsuite/c-c++-common/Wunused-local-typedefs-2.c Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl2.c trunk/gcc/testsuite/ChangeLog