From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21773 invoked by alias); 23 May 2003 21:02:07 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 21735 invoked from network); 23 May 2003 21:02:06 -0000 Received: from unknown (HELO planck.amplepower.com) (216.39.162.139) by sources.redhat.com with SMTP; 23 May 2003 21:02:06 -0000 Received: from [192.168.8.30] (helo=knuth.amplepower.com ident=roth) by planck.amplepower.com with esmtp (Exim 3.36 #1 (Debian)) id 19JJYv-0003m9-00; Fri, 23 May 2003 13:54:49 -0700 Date: Fri, 23 May 2003 21:02:00 -0000 From: "Theodore A. Roth" X-X-Sender: roth@knuth.amplepower.com To: Andrew Cagney cc: gdb@sources.redhat.com Subject: Re: suggested compile warnings In-Reply-To: <3ECE817C.1020900@redhat.com> Message-ID: References: <3ECE817C.1020900@redhat.com> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-1463804408-1246597846-1053723942=:32235" X-SW-Source: 2003-05/txt/msg00326.txt.bz2 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---1463804408-1246597846-1053723942=:32235 Content-Type: TEXT/PLAIN; charset=US-ASCII Content-length: 3851 On Fri, 23 May 2003, Andrew Cagney wrote: :) > Hi, :) > :) > I've always been configuring gdb with --enable-gdb-build-warnings=-Werror :) > and thought that there where a bunch of gcc compile warnings issued. :) > Looking more closely at my builds, that doesn't seem to be true. :) > :) > For my own apps, I like to use '-Wall -Werror' as it lets the compiler :) > catch a lot of my stupid mistakes. I tried '-Wall -Werror' for gdb, :) > but that seems to be too restrictive for gdb source. :) > :) > Does anyone else compile gdb with any of the -W gcc options? :) > Is there a recommended list of these which should be used? :) > :) > For example, adding -Wunused (without -Werror), turns up 149 wanrings. :) > Most are unused variables, some are static decl's for functions that :) > aren't defined. Most if not all of these should be trivial to fix. :) :) See: 13.4.3 Compiler Warnings :) http://sources.redhat.com/gdb/current/onlinedocs/gdbint_13.html#SEC118 Thats what I was looking for. Guess I should have looked in the index... I noticed that I was using '-Werror' instead of ',-Werror'. That seems to quietly disable all the hand picked warnings. D'oh! Now my build is catching some problems again in my code. :) :) Instead of -Wunused, look at the individual -Wunused-function, :) -Wunused-variable, ... :) :) Off hand, other intersting ones are: :) :) -Wwrite-strings :) It's just hard and really messy. People occasionally chip away at the :) edges. Last time I tried, I came across what appeared to be an :) effective xfree("string"), outch! :) :) -W :) More for the sign VS unsigned checks it throws up, but it throws up some :) non problems :-( :) :) -Wswitch-default :) -Wswitch-enum :) -Wswitch-fallthrough (doesn't actually exist) :) But that could be religious :-) :) :) -Wstrict-prototypes :) -Wmissing-prototypes :) -Wmissing-declarations :) But tread carefully, it tends to run a foul of head files. :) :) The trick is to first identify warnings that add real value (-Wformat :) for instance is good++) and then ensure that the fix is not worse than :) the problem being identified (using a cast to hide a problem, for :) instance, isn't a good idea vis: xffree ((char *) "a string")). :) :) I've appended an old list of the error counts for various flags that was :) generated by compiling all the cross targets on a Red Hat GNU/Linux 7.2 :) system and then deleting duplicates (which GCC? I don't remember). :) :) Have fun. :) Andrew :) Ok, that's a lot of warnings. 8-) Thanks for the info. Is it worth while cleaning up the simple stuff? I am willing to do janitorial work since it at least forces me to dig into the code more. Before I go of half cocked, here's the warnings I get in breakpoint.c: gcc -c -g -O2 -I. -I../../gdb -I../../gdb/config -DLOCALEDIR="\"/home/roth/local/avr/share/locale\"" -DHAVE_CONFIG_H -I../../gdb/../include/opcode -I../../gdb/../readline/.. -I../bfd -I../../gdb/../bfd -I../../gdb/../include -I../intl -I../../gdb/../intl -DMI_OUT=1 -Wall ../../gdb/breakpoint.c ../../gdb/breakpoint.c: In function `insert_breakpoints': ../../gdb/breakpoint.c:971: warning: value computed is not used ../../gdb/breakpoint.c:717: warning: unused variable `disabled_breaks' ../../gdb/breakpoint.c: In function `can_use_hardware_watchpoint': ../../gdb/breakpoint.c:5526: warning: unused variable `vaddr' ../../gdb/breakpoint.c: In function `do_enable_breakpoint': ../../gdb/breakpoint.c:7207: warning: statement with no effect ../../gdb/breakpoint.c: At top level: ../../gdb/breakpoint.c:5798: warning: `ep_parse_optional_filename' defined but not used Attached are my fixes. Are these appropriate and obvious fixes? I'm not excited about the ',' usage in a macro, but it seemed to be used in a lot of other macros already. [I know the ChangeLog entry is unacceptable though...] Ted Roth ---1463804408-1246597846-1053723942=:32235 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="cleanup-1.diff" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="cleanup-1.diff" Content-length: 5084 MjAwMy0wNS0yMyAgVGhlb2RvcmUgQS4gUm90aCAgPHRyb3RoQG9wZW5hdnIu b3JnPg0KDQoJKiBicmVha3BvaW50LmM6IENvbXBpbGVyIHdhcm5pbmcgY2xl YW51cHMuDQoNCkluZGV4OiBicmVha3BvaW50LmMNCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL2JyZWFrcG9p bnQuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTIwDQpkaWZmIC11IC1y MS4xMjAgYnJlYWtwb2ludC5jDQotLS0gYnJlYWtwb2ludC5jCTUgTWF5IDIw MDMgMTc6NTY6NTQgLTAwMDAJMS4xMjANCisrKyBicmVha3BvaW50LmMJMjMg TWF5IDIwMDMgMjA6NDQ6MzUgLTAwMDANCkBAIC0xODcsOCArMTg3LDYgQEAN CiANCiBzdGF0aWMgY2hhciAqZXBfcGFyc2Vfb3B0aW9uYWxfaWZfY2xhdXNl IChjaGFyICoqYXJnKTsNCiANCi1zdGF0aWMgY2hhciAqZXBfcGFyc2Vfb3B0 aW9uYWxfZmlsZW5hbWUgKGNoYXIgKiphcmcpOw0KLQ0KICNpZiBkZWZpbmVk KENISUxEX0lOU0VSVF9FWEVDX0NBVENIUE9JTlQpDQogc3RhdGljIHZvaWQg Y2F0Y2hfZXhlY19jb21tYW5kXzEgKGNoYXIgKmFyZywgaW50IHRlbXBmbGFn LCBpbnQgZnJvbV90dHkpOw0KICNlbmRpZg0KQEAgLTcwMyw2ICs3MDEsMTEg QEANCiB9DQogDA0KIA0KKyNpZiAhZGVmaW5lZCAoRElTQUJMRV9VTlNFVFRB QkxFX0JSRUFLKQ0KKyNkZWZpbmUgRElTQUJMRV9VTlNFVFRBQkxFX0JSRUFL KGFkZHIpIFwNCisgICAgKDApDQorI2VuZGlmDQorDQogLyogaW5zZXJ0X2Jy ZWFrcG9pbnRzIGlzIHVzZWQgd2hlbiBzdGFydGluZyBvciBjb250aW51aW5n IHRoZSBwcm9ncmFtLg0KICAgIHJlbW92ZV9icmVha3BvaW50cyBpcyB1c2Vk IHdoZW4gdGhlIHByb2dyYW0gc3RvcHMuDQogICAgQm90aCByZXR1cm4gemVy byBpZiBzdWNjZXNzZnVsLA0KQEAgLTgyNCw3ICs4MjcsNiBAQA0KIAlpZiAo dmFsKQ0KIAkgIHsNCiAJICAgIC8qIENhbid0IHNldCB0aGUgYnJlYWtwb2lu dC4gICovDQotI2lmIGRlZmluZWQgKERJU0FCTEVfVU5TRVRUQUJMRV9CUkVB SykNCiAJICAgIGlmIChESVNBQkxFX1VOU0VUVEFCTEVfQlJFQUsgKGItPmFk ZHJlc3MpKQ0KIAkgICAgICB7DQogCQkvKiBTZWUgYWxzbzogZGlzYWJsZV9i cmVha3BvaW50c19pbl9zaGxpYnMuICovDQpAQCAtODQzLDcgKzg0NSw2IEBA DQogCQkJCSAgICAiYnJlYWtwb2ludCAjJWRcbiIsIGItPm51bWJlcik7DQog CSAgICAgIH0NCiAJICAgIGVsc2UNCi0jZW5kaWYNCiAJICAgICAgew0KICNp ZmRlZiBPTkVfUFJPQ0VTU19XUklURVRFWFQNCiAJCXByb2Nlc3Nfd2Fybmlu ZyA9IDE7DQpAQCAtOTYxLDYgKzk2Miw4IEBADQogDQogCWlmICh3aXRoaW5f Y3VycmVudF9zY29wZSkNCiAJICB7DQorICAgICAgICAgICAgY2hhciAqY29u dGVudHM7DQorDQogCSAgICAvKiBFdmFsdWF0ZSB0aGUgZXhwcmVzc2lvbiBh bmQgY3V0IHRoZSBjaGFpbiBvZiB2YWx1ZXMNCiAJICAgICAgIHByb2R1Y2Vk IG9mZiBmcm9tIHRoZSB2YWx1ZSBjaGFpbi4NCiANCkBAIC05NjgsNyArOTcx LDcgQEANCiAJICAgICAgIGxhemluZXNzIHRvIGRldGVybWluZSB3aGF0IG1l bW9yeSBHREIgYWN0dWFsbHkgbmVlZGVkDQogCSAgICAgICBpbiBvcmRlciB0 byBjb21wdXRlIHRoZSB2YWx1ZSBvZiB0aGUgZXhwcmVzc2lvbi4gICovDQog CSAgICB2ID0gZXZhbHVhdGVfZXhwcmVzc2lvbiAoYi0+ZXhwKTsNCi0JICAg IFZBTFVFX0NPTlRFTlRTKHYpOw0KKwkgICAgY29udGVudHMgPSBWQUxVRV9D T05URU5UUyh2KTsNCiAJICAgIHZhbHVlX3JlbGVhc2VfdG9fbWFyayAobWFy ayk7DQogDQogCSAgICBiLT52YWxfY2hhaW4gPSB2Ow0KQEAgLTU0NjksNyAr NTQ3Miw4IEBADQogDQogI2lmICFkZWZpbmVkKFRBUkdFVF9SRUdJT05fT0tf Rk9SX0hXX1dBVENIUE9JTlQpDQogI2RlZmluZSBUQVJHRVRfUkVHSU9OX09L X0ZPUl9IV19XQVRDSFBPSU5UKEFERFIsTEVOKSBcDQotICAgICAoVEFSR0VU X1JFR0lPTl9TSVpFX09LX0ZPUl9IV19XQVRDSFBPSU5UKExFTikpDQorICAg ICAoKHZvaWQpKEFERFIpLCAvKiBub3QgdXNlZCwgcXVlbGxzIHdhcm5pbmcg Ki9cDQorICAgICAgVEFSR0VUX1JFR0lPTl9TSVpFX09LX0ZPUl9IV19XQVRD SFBPSU5UKExFTikpDQogI2VuZGlmDQogDQogc3RhdGljIGludA0KQEAgLTU3 ODMsNDIgKzU3ODcsNiBAQA0KICAgcmV0dXJuIGNvbmRfc3RyaW5nOw0KIH0N CiANCi0vKiBUaGlzIGZ1bmN0aW9uIGF0dGVtcHRzIHRvIHBhcnNlIGFuIG9w dGlvbmFsIGZpbGVuYW1lIGZyb20gdGhlIGFyZw0KLSAgIHN0cmluZy4gIElm IG9uZSBpcyBub3QgZm91bmQsIGl0IHJldHVybnMgTlVMTC4NCi0NCi0gICBF bHNlLCBpdCByZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgcGFyc2VkIGZpbGVu YW1lLiAgKFRoaXMgZnVuY3Rpb24NCi0gICBtYWtlcyBubyBhdHRlbXB0IHRv IHZlcmlmeSB0aGF0IGEgZmlsZSBvZiB0aGF0IG5hbWUgZXhpc3RzLCBvciBp cw0KLSAgIGFjY2Vzc2libGUuKSAgQW5kLCBpdCB1cGRhdGVzIGFyZyB0byBw b2ludCB0byB0aGUgZmlyc3QgY2hhcmFjdGVyDQotICAgZm9sbG93aW5nIHRo ZSBwYXJzZWQgZmlsZW5hbWUgaW4gdGhlIGFyZyBzdHJpbmcuDQotDQotICAg Tm90ZSB0aGF0IGNsaWVudHMgbmVlZGluZyB0byBwcmVzZXJ2ZSB0aGUgcmV0 dXJuZWQgZmlsZW5hbWUgZm9yDQotICAgZnV0dXJlIGFjY2VzcyBzaG91bGQg Y29weSBpdCB0byB0aGVpciBvd24gYnVmZmVycy4gKi8NCi1zdGF0aWMgY2hh ciAqDQotZXBfcGFyc2Vfb3B0aW9uYWxfZmlsZW5hbWUgKGNoYXIgKiphcmcp DQotew0KLSAgc3RhdGljIGNoYXIgZmlsZW5hbWVbMTAyNF07DQotICBjaGFy ICphcmdfcCA9ICphcmc7DQotICBpbnQgaTsNCi0gIGNoYXIgYzsNCi0NCi0g IGlmICgoKmFyZ19wID09ICdcMCcpIHx8IGlzc3BhY2UgKCphcmdfcCkpDQot ICAgIHJldHVybiBOVUxMOw0KLQ0KLSAgZm9yIChpID0gMDs7IGkrKykNCi0g ICAgew0KLSAgICAgIGMgPSAqYXJnX3A7DQotICAgICAgaWYgKGlzc3BhY2Ug KGMpKQ0KLQljID0gJ1wwJzsNCi0gICAgICBmaWxlbmFtZVtpXSA9IGM7DQot ICAgICAgaWYgKGMgPT0gJ1wwJykNCi0JYnJlYWs7DQotICAgICAgYXJnX3Ar KzsNCi0gICAgfQ0KLSAgKmFyZyA9IGFyZ19wOw0KLQ0KLSAgcmV0dXJuIGZp bGVuYW1lOw0KLX0NCi0NCiAvKiBDb21tYW5kcyB0byBkZWFsIHdpdGggY2F0 Y2hpbmcgZXZlbnRzLCBzdWNoIGFzIHNpZ25hbHMsIGV4Y2VwdGlvbnMsDQog ICAgcHJvY2VzcyBzdGFydC9leGl0LCBldGMuICAqLw0KIA0KQEAgLTcyMDMs OCArNzE3MSw2IEBADQogCSAgaW50IGkgPSBod193YXRjaHBvaW50X3VzZWRf Y291bnQgKGJwdC0+dHlwZSwgJm90aGVyX3R5cGVfdXNlZCk7DQogCSAgaW50 IG1lbV9jbnQgPSBjYW5fdXNlX2hhcmR3YXJlX3dhdGNocG9pbnQgKGJwdC0+ dmFsKTsNCiANCi0JICAvKiBIYWNrIGFyb3VuZCAndW51c2VkIHZhcicgZXJy b3IgZm9yIHNvbWUgdGFyZ2V0cyBoZXJlICovDQotCSAgKHZvaWQpIG1lbV9j bnQsIGk7DQogCSAgdGFyZ2V0X3Jlc291cmNlc19vayA9IFRBUkdFVF9DQU5f VVNFX0hBUkRXQVJFX1dBVENIUE9JTlQgKA0KIAkJCQkgICBicHQtPnR5cGUs IGkgKyBtZW1fY250LCBvdGhlcl90eXBlX3VzZWQpOw0KIAkgIC8qIHdlIGNh biBjb25zaWRlciBvZiB0eXBlIGlzIGJwX2hhcmR3YXJlX3dhdGNocG9pbnQs IGNvbnZlcnQgdG8gDQo= ---1463804408-1246597846-1053723942=:32235--