From: | Bruce Momjian <bruce(at)momjian(dot)us> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | NikhilS <nikkhils(at)gmail(dot)com>, Gavin Sherry <swm(at)alcove(dot)com(dot)au>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: --enable-debug does not work with gcc |
Date: | 2007-02-02 16:10:37 |
Message-ID: | 200702021610.l12GAbH00356@momjian.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane wrote:
> NikhilS <nikkhils(at)gmail(dot)com> writes:
> > True, this is how I myself circumvent this problem too. But IMHO,
> > explicitly passing CFLAGS when we are invoking --enable-debug (which does
> > add -g, but leaves some optimization flag around which deters debugging)
> > does not seem correct?
>
> If we did what you suggest, then --enable-debug would cause performance
> degradation, which would cause people to not use it, which would result
> in most binaries being completely undebuggable rather than only partially.
> Doesn't sound like a good tradeoff to me.
>
> Personally, in my development tree I use a Makefile.custom containing
>
> # back off optimization unless profiling
> ifeq ($(PROFILE),)
> CFLAGS:= $(patsubst -O2,-O1,$(CFLAGS))
> endif
>
> -O1 still generates "uninitialized variable" warnings but the code is a
> lot saner to step through ... not perfect, but saner. It's been a
> workable compromise for a long time. I don't recommend developing with
> -O0, exactly because it disables some mighty valuable warnings.
Agreed. I use -O1 by default myself, unless I am doing performance testing.
--
Bruce Momjian bruce(at)momjian(dot)us
EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
From | Date | Subject | |
---|---|---|---|
Next Message | Kate F | 2007-02-02 16:10:38 | Re: Function proposal to find the type of a datum |
Previous Message | Kate F | 2007-02-02 16:04:57 | Re: Function proposal to find the type of a datum |