On 11/17/11 10:51 AM, Ben Laurie wrote:
.\ssl\t1_enc.c(963): warning C4267: 'return' : conversion from 'size_t' to 'int', possible loss of data t1_lib.c .\ssl\t1_lib.c(301): warning C4244: '=' : conversion from '__int64' to 'long', possible loss of data We would like to know whether these are planned to be solved please?
Apparently gcc has this warning from 4.3 onwards, so I may have a
crack at fixing them. It is likely to be a big job, though.


I'm on Linux with gcc 4.4.5 and there are no warnings. I think the warnings are because int/long have different meanings on 64 bit Windows systems. On modern Linux systems an int is always 4 bytes, and a long is always 8 bytes, regardless of the system wordsize. On 64 bit Windows systems those same types are both 8 bytes. Its been awhile since I looked into this topic, but if I'm right, it might be possible to force the compiler to use the Linux type mappings via a command line switch or by including a header file like stdint.h or inttypes.h.

According to the Wikipedia article on C99 the MS C compiler still doesn't support the standard which could be part of the same issue.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to