Message118146
| Author |
mark.dickinson |
| Recipients |
amaury.forgeotdarc, eric.smith, mark.dickinson, pitrou, rhettinger, stutzbach |
| Date |
2010年10月07日.22:03:46 |
| SpamBayes Score |
2.4322674e-07 |
| Marked as misclassified |
No |
| Message-id |
<1286489028.95.0.0275163417486.issue10044@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
> For the record, a Py_uintptr_t version works and has the same
> performance. Would you agree to it or is there still some menacing
> oddity from the i386 days lurking around?
Technically, it's still dodgy: as the gcc manual notes in:
http://gcc.gnu.org/onlinedocs/gcc/Arrays-and-pointers-implementation.html#Arrays-and-pointers-implementation
". That is, one may not use integer arithmetic to avoid the undefined behavior of pointer arithmetic as proscribed in C99 6.5.6/8."
I can't see as much scope for problems with the uintptr_t version. But just because I can't anticipate the problems, it doesn't mean they don't exist.
It really would be better to avoid the undefined behaviour if at all possible. |
|