[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [Openexr-devel] Visual Studio 2k5 beta 2 generates 1000 warningscomp
From: |
Nick Porcino |
Subject: |
RE: [Openexr-devel] Visual Studio 2k5 beta 2 generates 1000 warningscompiling OpenEXR... |
Date: |
Mon, 29 Aug 2005 18:31:06 -0700 |
The 4290 warning doesn't actually give terribly useful information. What the
warning is telling you is that Visual C++ doesn't actually implement this part
of the C++ specification. It's harmless from a functional standpoint.
The 4018 warning is correct, we should fix that.
The 4244 warning below should probably be using the ptrdiff_t to do pointer
subtractions
The 4800 warning appears to be spurious. If you look at the disassembly
generated if you switch to the 0 != form, it doesn't appear to be faster every
time 4800 suggests it might be.
In general, we currently have 64 bit portability warnings suppressed on
OpenEXR.... Probably not a good thing. Thanks for the feedback.
- nick
-----Original Message-----
From: address@hidden [mailto:address@hidden On Behalf Of Bob Friesenhahn
Sent: Monday, August 29, 2005 4:40 PM
To: Granthill Granthill
Cc: address@hidden
Subject: Re: [Openexr-devel] Visual Studio 2k5 beta 2 generates 1000
warningscompiling OpenEXR...
With all other 64-bit compilers I am aware of, the 'long' type is
assured to be able to store any pointer. Due to past
mistakes/assumptions in the Windows API design, Microsoft decided that
the 'long' type will remain 32-bit but pointers are 64-bit. This is
going to cause considerable grief for software which was worked
properly in 64-bit environments for years.
Bob
On Tue, 30 Aug 2005, Granthill Granthill wrote:
> Hey you should take a look to the near >> 1000 <<
> warnings that the source code generates compiling with
> Visual Studio 2005 Beta 2 even with the warning level
> to the minimum... Also, the source code doesn't pass
> the x64 compatibility test because you are doint
> really BAD things with pointers, using int/unsigned it assuming are
> always 32 bits, etc...
>
> Warnings are plenty justifyed, see some examples:
>
> d:\openexr\imath\imathvec.h(412) : warning C4290: C++ exception
> specification ignored except to indicate a function is not
> __declspec(nothrow)
>
> d:\openexr\ilmimf\imftileoffsets.cpp(80) : warning
> C4018: '<' : signed/unsigned mismatch
>
> d:\openexr\ilmimf\imftiledoutputfile.cpp(1085) :
> warning C4244: 'initializing' : conversion from '__w64
> int' to 'int', possible loss of data
>
> d:\openexr\ilmimf\imfstdio.cpp(157) : warning C4244: 'argument' :
> conversion from 'Imf::Int64' to 'std::streamoff', possible loss of
> data
>
> d:\openexr\ilmimf\imftimecode.cpp(236) : warning
> C4800: 'unsigned int' : forcing value to bool 'true'
> or 'false' (performance warning)
>
>
> All the warnings are in almost all the files,
> affecting Imf, Half and math libraries.... You REALLY
> should correct all this warnings ...
>
>
>
>
>
>
>
> ______________________________________________
> Renovamos el Correo Yahoo!
> Nuevos servicios, más seguridad
> http://correo.yahoo.es
>
>
> _______________________________________________
> Openexr-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/openexr-devel
>
======================================
Bob Friesenhahn
address@hidden, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
- RE: [Openexr-devel] Visual Studio 2k5 beta 2 generates 1000 warningscompiling OpenEXR...,
Nick Porcino <=