pete <> writes:
> Keith Thompson wrote:
>
>> (The set of representations
>> that are trap representations can vary over time during the execution
>> of the program.)
>
> How do you know that?
Because an implementation on which they can vary can be conforming.
(I'm not claiming that they'll do so on every implementation.)
For example:
void *ptr = malloc(32);
assert(ptr != NULL);
/*
* ptr has a valid value.
*/
free(ptr);
/*
* ptr may now contain a trap representation, even though the bits
* haven't changed.
*/
How does this violate the standard? If the standard intends that ptr
can't have a trap representation, why does it say the value is
indeterminate rather than unspecified? (The only difference between
indeterminate and unspecified is that the former includes trap
representations.)
--
Keith Thompson (The_Other_Keith)
kst- <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.