openexr-devel
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]