This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: -funsafe-loop-optimizations


> From: Robert Dewar <dewar@adacore.com>
>> Paul Schlie wrote:
>> I suspect we're not referring to the same thread of context; I made the
>> comment in response to: http://gcc.gnu.org/ml/gcc/2005-01/msg00084.html
>> which I didn't interpret as referring to the portability of the compiler,
>> but rather code compiled by it having potentially different semantics as
>> a function of the "target's" type-sizes,
> 
> That's not a compiler issue, the author was simply pointing out that code
> of the type we are talking about is inherently non-portable. If you have
> a loop that is infinite if the size of unsigned is 16 and well behaved if
> the size of unsigned is 32, as required by the standard, then you have simply
> written non-portable code. This is nothing to do with the compiler. Indeed
> if anything the improper "optimization" might have the effect of increasing
> portability in practice of this incorrect code. What MK was noting was that
> even though this code is non-portable, in practice, it may be portable to
> 32-bit architectures. That's nothing new, and nothing to do with the code
> that gcc generates. C is a language where it is very easy to write non-
> portable code if you are not very careful. The compiler cannot somehow
> magically correct such programs.

Agreed, my mistake.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]