* Terry Lambert <[EMAIL PROTECTED]> escriurères
> Juli Mallett wrote:
> > Errr, it was with 0 level optimisation that is the problem, not a real
> > level. Read carefully what bde said, and look at hte warnings and how
> > GCC deals with the code in question.
> >
> > Also, your example is very wrong, read make(1)'s section on dealing with
> > variables.
>
>
> I know my example is very wrong; though it could be used to grep
> for optimizer flags, where it could not be used for what I jokingly
> said it could be used for... I guess it was too subtle.
>
> Question:
>
> -O0 fails to produce good code; how do I check and warn if
> -O0 is being used?
>
> Answer:
>
> Fix -O0, or grep its use and complain about it
.if "${MACHINE_ARCH}" == "i386"
CFLAGS:= $(CFLAGS:N-O0)
.endif
I think.
> Answer 2:
>
> Make its use an argument error to the compiler, until it is
> fixed
-O0 isn't broken, it just doesn't handle this construct right, and the issue
is known.
> Answer 3:
>
> Quit munging the Makefiles, when they will just need to be
> unmunged later, and the problem goes away if you change
> the compiler
NetBSD and OpenBSD do this to work around crappy toolchains all the time.
Most of the time it's to *enable* -O0 though, ironically :)
--
Juli Mallett <[EMAIL PROTECTED]> FreeBSD: The Power To Serve
Perception is prejudice / Don't classify me / Accept me as me / Not what you see
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message