* 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

Reply via email to