Aliasing fun

Robert Dewar dewar@gnat.com
Fri Jan 25 08:54:00 GMT 2002


<<My point about undecidability is that using just the C++ standard, it's
not just that we can be  conservative and get it correct, it's quite
possible we'll get the wrong  answers for type alias sets, because of
implementation specific  details that the C++ standard doesn't define.
Mark wants a semi-formal proof that the ABI details provide us enough to
get it right all the time, before we try to do it for all cases. Which i
have no problem with, in reality, but it's not what is being suggested
here.
>>

If there are cases where the C++ standard does not provide sufficient
information to prove that two sets are unaliased, then there are two
possibilities (neither of which has anything to do with undecidability,
you seem to think that undecidability means not-able-to-be-decided in
the above, and that of course is not the case at all the term undecidable
has a formal meaning).

1. You simply decide that the items are not provably in separate alias sets,
so they go in the same set.

2. You know that your implementation has well documented and guaranteed
additional permissible constraints that allow you to decide that the two
items should be in different sets, and allow you to prove that this is
the case.

>>If our testsuite doesen't adequately test this, then so be it.

The test suite does not BEGIN to be an adequate test here in my opinion.



More information about the Gcc mailing list