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: 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


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