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

Reply via email to