> To step back from the problem a little bit:
> What is the justification, if any, for making a comparison operation
> available, and then defining it as meaningless?
It's not meaningless. It is just defined such that two independently derived
access values may or may not be equal. This is very similar to the way
floating point works; it shouldn't be that surprising. That is:
A := F'Access;
B := A;
C := G'Access;
D := C;
E := F'Acesss;
if A = B then -- Must be true.
if C = D then -- Must be true.
if A = C then -- Must be false.
if B = D then -- Must be false.
if A = E then -- May be either true or false.
if B = E then -- May be either true or false.