I'm trying to follow this discussion, but I'm having a little difficulty understanding what it is that is "allowed" or "not allowed" by the standard. Are we saying that the following code could actually cause a meltdown?
Interesting.Code:int *p = (int *)rand();
As long as p isn't dereferenced, what would be the logic in disallowing a pointer that points to something invalid as long as it is never used (ie. dereferenced)?