From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3207 invoked by alias); 29 Feb 2012 16:16:50 -0000 Received: (qmail 3184 invoked by uid 22791); 29 Feb 2012 16:16:48 -0000 X-SWARE-Spam-Status: No, hits=-6.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 29 Feb 2012 16:16:30 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q1TGGUqm005335 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 29 Feb 2012 11:16:30 -0500 Received: from hit-nxdomain.opendns.com (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q1TGGTDn009700 for ; Wed, 29 Feb 2012 11:16:29 -0500 Subject: [PATCH 00/14] -Wmissing-prototypes: Intro To: gdb-patches@sourceware.org From: Pedro Alves Date: Wed, 29 Feb 2012 16:17:00 -0000 Message-ID: <20120229161628.23918.51354.stgit@hit-nxdomain.opendns.com> User-Agent: StGit/0.15 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-02/txt/msg00702.txt.bz2 It's that time of the year again... Back in Feb 2008, and then on Feb 2009 again, I cleaned up the tree to make it buildable with -Wmissing-prototypes on x86_64-unknown-linux-gnu (--enable-targets=all, I think), but I ended up not adding -Wmissing-prototypes to the default warnings set. Since then, another set of -Wmissing-prototypes problems cropped up. So this series fixes all I could see, and then proposes finally enabling -Wmissing-prototypes by default, to make sure I won't go through this again in Feb 2013... This warning is quite useful as it catches these kinds of issues: - modules (.c files) that don't include their own header, where there's potential to change some function's prototype in the .c file, and forget to adjust it in the .h file, and then you end up scratching your head wondering why is GDB behaving funny or crashing (because clients of your function hadn't been adjusted to the new prototype, because they were still being compiled with the old prototype in the header). - It's harder to end up with extern functions that should be static, because the compiler will complain that it hasn't seen a prototype for the function. In most cases, the fix for the warning it to make the function static. - Helps get rid of unused functions. The above point means that as soon as you make the function static, if there are no callers to the function, the compiler will complain about an unused static function, so you end up deleting the dead code. There are examples of all these in the series. Tested on x86_64 Fedora 16. --- Pedro Alves (14): -Wmissing-prototypes: Ada. -Wmissing-prototypes: proc-service. -Wmissing-prototypes: Garbage collect inferior.c:delete_threads_of_inferior. -Wmissing-prototypes: Python -Wmissing-prototypes: cleanup encode_actions hack. -Wmissing-prototypes: TUI. -Wmissing-prototypes: inline-frame.c. -Wmissing-prototypes: The find_and_open_source hack. -Wmissing-prototypes: jit-reader.in (plugin_is_GPL_compatible). -Wmissing-prototypes: common/signals.c. -Wmissing-prototypes: observer.c's testsuite helpers. -Wmissing-prototypes: hook linux_has_shared_address_space. -Wmissing-prototypes: All others. -Wmissing-prototypes: Build with -Wmissing-prototypes by default.