In <[EMAIL PROTECTED]>, Gergely EGERVARY 
wrote: 

> I have just upgraded my system to -current w/egcs 2.95.2 and I have
> several problems with it, especially when using optimizations (-O2 and
> such)

When your code breaks when using -O2 or higher, don't do that, use
just -O!

Almost all examples I've seen where people claimed newer gcc's broke
their code are triggered by unclean C code that isn't strictly ANSI C
conformant (also see the other thread about ieeefp and floating point
exceptions).

As far as I understand, the gcc people try to keep the -O option
compatible in a way that it doesn't break code that didn't break in
earlier versions of gcc. This is exactly the option you need, it's a
service for you and you should use it unless you are absolutely sure
your code is valid.

There are examples of -O2 or higher breaking valid code, but they are
much less common than implied. And such issues were in 2.7.x was well,
that's the reason the base system is compiled with -O.

Martin
-- 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <[EMAIL PROTECTED]> http://www.cons.org/cracauer/
BSD User Group Hamburg, Germany     http://www.bsdhh.org/


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to