http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29028



--- Comment #4 from Dodji Seketeli <dodji at gcc dot gnu.org> 2012-09-28 
12:51:42 UTC ---

Author: dodji

Date: Fri Sep 28 12:51:30 2012

New Revision: 191829



URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191829

Log:

PR c++/29028 - Missed unused warning on using declaration



In the example of the patch, g++ fails to warn that the variable N::i

(introduced via a using declaration) is unused.



This is because as we want to emit the warning in poplevel, when we

walk the local bindings returned by getdecls, we forget that a

VAR_DECL introduced by a using declaration is represented by a

TREE_LIST which TREE_VALUE is the VAR_DECL, and we wrongly look for a

bare VAR_DECL.



Fixed thus and tested on x86_64-unknown-linux-gnu against trunk.



gcc/cp/



    * decl.c (poplevel<warn_unused*>): Do not forget that some local

    bindings are represented by a TREE_LIST.



gcc/testsuite/



    * g++.dg/warn/Wunused-var-18.C: New test.



Added:

    trunk/gcc/testsuite/g++.dg/warn/Wunused-var-18.C

Modified:

    trunk/gcc/cp/ChangeLog

    trunk/gcc/cp/decl.c

    trunk/gcc/testsuite/ChangeLog

Reply via email to