From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14562 invoked by alias); 17 Jun 2012 19:51:36 -0000 Received: (qmail 14552 invoked by uid 22791); 17 Jun 2012 19:51:34 -0000 X-SWARE-Spam-Status: No, hits=-3.6 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 17 Jun 2012 19:51:23 +0000 From: "david at doublewise dot net" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/53711] New: Wunused-function should warn for functions in the unnamed namespace Date: Sun, 17 Jun 2012 19:51:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Keywords: X-Bugzilla-Severity: enhancement X-Bugzilla-Who: david at doublewise dot net X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2012-06/txt/msg01139.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53711 Bug #: 53711 Summary: Wunused-function should warn for functions in the unnamed namespace Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: c++ AssignedTo: unassigned@gcc.gnu.org ReportedBy: david@doublewise.net Wunused-function currently only warns for functions that are declared as static that are never used / defined. It should also warn about functions placed in the unnamed namespace, such as: namespace { void f(); } Such functions have similar mechanics to static functions. In particular, they can only be referenced in the translation unit, so the compiler knows for certain that if the function is not used in this translation unit, it is not used.