This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: signed is undefined and has been since 1992 (in GCC)
Robert Dewar <dewar@adacore.com> writes:
| Gabriel Dos Reis wrote:
| > Robert Dewar <dewar@adacore.com> writes:
| > | Gabriel Dos Reis wrote:
| > | | > The strict aliasing rule by itself does not show it is not a
| > high level
| > | > assembly language. There are chips out there where you cannot access
| > | > data willy-nilly through random register types.
| > | | And there are chips for which signed arithmetic is not wrap
| > around!
| > yes, but that is irrelevant, the assumptin was made that
| > one knows what the chip provides.
|
| And if the chip provides two consistent models of arithmetic, you cannot
| deduce from the standard that one is preferred over the other (e.g. logical
At this point, we're not talking about what the standard abstractly
says. But, what the *implementation* says or could say. We're
talking about the implementation-defined semantics of
numeric_limits<T>::is_modulo.
But I guess you will refuse to get real just as you will deny that any
there is any connection between C, C++ and hardware.
[...]
| As I said in an earlier message, the issue here is one of tradeoffs.
Did you miss the previous messages where it was clearly indicated that
people were aware of that?
[...]
| In the case of overflow, everyone would agree on avoiding the undefined
| behavior if it is cheap enough. If it is not cheap enough, then I think
| most people would accept the undefined status.
|
| How can you make an informed decision with no data in a case like this?
In case you may not have noticed, people offered to run tests and send
some numbers.
-- Gaby