Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Feb 2003 15:17:12 +0100
From:      Erik Trulsson <ertr1013@student.uu.se>
To:        "Jacques A. Vidrine" <nectar@FreeBSD.org>
Cc:        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:  <20030209141711.GA35708@falcon.midgard.homeip.net>
In-Reply-To: <20030209140357.GB67612@opus.celabo.org>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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)




-- 
<Insert your favourite quote here.>
Erik Trulsson
ertr1013@student.uu.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?20030209141711.GA35708>