Date: Sun, 9 Feb 2003 08:22:01 -0600 From: "Jacques A. Vidrine" <nectar@FreeBSD.org> To: Terry Lambert <tlambert2@mindspring.com>, David Schultz <dschultz@uclink.berkeley.edu>, Ray Kohler <ataraxia@cox.net>, freebsd-current@FreeBSD.ORG Subject: Re: Compiling with high optimization? Message-ID: <20030209142200.GH67612@opus.celabo.org> In-Reply-To: <20030209141711.GA35708@falcon.midgard.homeip.net> References: <20030208173756.GA56030@arkadia.nv.cox.net> <20030208232724.GA20435@HAL9000.homeunix.com> <3E459BF3.BB3FC381@mindspring.com> <20030209002542.GA20812@HAL9000.homeunix.com> <3E45AD75.47C80368@mindspring.com> <20030209140357.GB67612@opus.celabo.org> <20030209141711.GA35708@falcon.midgard.homeip.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Feb 09, 2003 at 03:17:12PM +0100, Erik Trulsson wrote: > On Sun, Feb 09, 2003 at 08:03:57AM -0600, Jacques A. Vidrine wrote: > > On Sat, Feb 08, 2003 at 05:23:01PM -0800, Terry Lambert wrote: > > > The compiler > > > didn't complain when he checked it before committing it because > > > optimization was off by default; it should have complained, e.g.: > > ^^^^^^^^^^^^ > > Is that really what you meant? I don't believe it has anything to > > do with optimization; rather, it is to do with lack of `warning' > > flags. For example, if you build libc with WARNS=5 (so as to get the > > `-Wuninitialized' flag), then you get this warning. > > > > > "x.c:9:warning: `foo' might be used uninitialized in this function" > > Some warnings are not generated unless you compile with optimization > on. The reason for this is that to generate some of the warnings (for > example about uninitialized variables) you need to do some dataflow > analysis and gcc only does this when optimizing. > > Take for example this little program: > > #include <stdio.h> > int main(void) > { > int a; > printf("%d\n",a); > return 0; > } > > When compiled using 'gcc -O0 -Wall' no warnings are generated. When > compiled with 'gcc -O1 -Wall' you get a warning that 'a' might be used > uninitalized. (This is the case for gcc 2.95.x at least. I believe the > situation is the same with gcc 3.x) Ah, I see. Yes, it is the case with gcc 3.x. cc1: warning: -Wuninitialized is not supported without -O I don't think I ever knew that. I should have tried it before posting, but the comment that the problem was that `optimization was off by default' threw me --- it is ON by default. Cheers, -- Jacques A. Vidrine <nectar@celabo.org> http://www.celabo.org/ NTT/Verio SME . FreeBSD UNIX . Heimdal Kerberos jvidrine@verio.net . nectar@FreeBSD.org . nectar@kth.se To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030209142200.GH67612>