* 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