[Python-Dev] ANSI strict aliasing and Python
Martin v. Löwis
martin@v.loewis.de
19 Jul 2003 13:09:46 +0200
Ben Laurie <ben@algroup.co.uk> writes:
> > So if you convert two pointers to the same PyIntObject to PyObject*,
> > and convert them back, then compare them, you are guaranteed to get
> > true. If you compare them while they are PyObject*, no guarantees are
> > given.
>
> FWIW, K&R 2nd Ed. says in A6.6 that this is only true if the conversion
> is to a type whose alignment requirement is less or equally strict.
What is "this" in your message? "no guarantees are given", or "you are
guaranteed to get true". If the latter: Sure, but 6.2.5p26 says
# All pointers to structure types shall have the same representation
# and alignment requirements as each other.
So all pointers are equal.
Regards,
Martin