On Friday, September 22, 2006, at 08:38AM, Neal Norwitz <[EMAIL PROTECTED]> wrote:
>On 9/21/06, Tim Peters <[EMAIL PROTECTED]> wrote: >> >> Well, to be strictly anal, while the result of >> >> (size_t)-123 >> >> is defined, the result of casting /that/ back to a signed type of the >> same width is not defined. Maybe your compiler was "doing you a >> favor" ;-) > >I also tried with a cast to an ssize_t and replacing %zd with an %zi. >None of them make a difference; all return an unsigned value. This is >with powerpc-apple-darwin8-gcc-4.0.0 (GCC) 4.0.0 20041026 (Apple >Computer, Inc. build 4061). Although i would expect the issue is in >the std C library rather than the compiler. > >Forcing PY_FORMAT_SIZE_T to be "l" instead of "z" fixes this problem. > >BTW, this is the same issue on Mac OS X: > >>>> struct.pack('=b', -599999) >__main__:1: DeprecationWarning: 'b' format requires 4294967168 <= number <= 127 Has anyone filed a bug at bugreport.apple.com about this (that is '%zd' not behaving as the documentation says it should behave)? I'll file a bug (as well), but the more people tell Apple about this the more likely it is that someone will fix this. Ronald >'A' > >n >-- >_______________________________________________ >Python-Dev mailing list >Python-Dev@python.org >http://mail.python.org/mailman/listinfo/python-dev >Unsubscribe: >http://mail.python.org/mailman/options/python-dev/ronaldoussoren%40mac.com > > _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com