[Python-Dev] ssize_t branch merged (original) (raw)
Travis E. Oliphant oliphant.travis at ieee.org
Sat Feb 18 05:17:00 CET 2006
- Previous message: [Python-Dev] ssize_t branch merged
- Next message: [Python-Dev] ssize_t branch merged
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Tim Peters wrote:
[Travis Oliphant]
Maybe I have the wrong version of code. In my pyport.h (checked out from svn trunk) I have.
#define PYSSIZETMAX ((Pyssizet)(((sizet)-1)>>1)) What is sizet? sizet is an unsigned integral type defined by, required by, and used all over the place in standard C. What exactly is the compiler message you get, and exactly which compiler are you using (note that nobody else is having problems with this, so there's something unique in your setup)?
I'm very sorry for my silliness. I do see the problem I was having now. Thank you for helping me out. I was assuming that PY_SSIZE_T_MAX could be used in a pre-processor statement like LONG_MAX and INT_MAX.
In other words
#if PY_SSIZE_T_MAX != INT_MAX
This was giving me errors and I tried to understand the #define statement as an arithmetic operation (not a type-casting one). I did know about size_t but thought it strange that 1 was being subtracted from it.
I would have written this as (size_t)(-1) to avoid that confusion. I do apologize for my error. Thank you for taking the time to explain it.
I still think that PY_SSIZE_T_MAX ought to be usable in a pre-processor statement, but it's a nit.
Best,
-Travis
No. (sizet)-1 casts -1 to the unsigned integral type sizet,
That's what I was missing I saw this as subtraction not type-casting. My mistake
-Travis
- Previous message: [Python-Dev] ssize_t branch merged
- Next message: [Python-Dev] ssize_t branch merged
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]