Yury V. Zaytsev added the comment:

Digging more into it, I guess I know why we couldn't come up with a minimal 
reproducer for this problem. If I compile with -O2 instead of -O1, I get the 
following warning from gcc:

Python/pyhash.c:413: warning: dereferencing pointer 'pt.32' does break 
strict-aliasing rules

which points to the following line:

case 4: *((PY_UINT32_T*)&pt[0]) = *((PY_UINT32_T*)&m[0]); break;

If I re-compile with -O2, but -fno-strict-aliasing, then the result doesn't 
fail.

Not sure if siphash code can be changed to not require aliasing, though.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue20162>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to