I'm of the opinion that all such warnings should be permanently fixed.  Such 
warnings do point to potential problems.
And not by disabling the warning but by fixing the code (explicit casts for 
example).

How many people try this and get worried about possible problems?  If you 
simply fix the code once all those people will feel a whole lot better when 
they crank up the warnings and see nothing.

I went through this exercise myself for SQLite at one point and looked at each 
and every warning to try and determine if there was a possible error caused by 
all the miscasts.

I don't understand the resistance to fixing these.  And I'd feel a whole lot 
better with somebody who KNOWS the code saying "yeah, explicit cast is OK here".

Michael D. Black
Senior Scientist
NG Information Systems
Advanced Analytics Directorate



________________________________________
From: sqlite-users-boun...@sqlite.org [sqlite-users-boun...@sqlite.org] on 
behalf of Nick Shaw [nick.s...@citysync.co.uk]
Sent: Friday, February 18, 2011 3:50 AM
To: General Discussion of SQLite Database
Subject: EXT :Re: [sqlite] Compiler warnings in R-Tree code under Visual 
StudioExpress

Afriza N. Arief wrote:
> I tried to compile SQLite 3.7.5 with SQLITE_ENABLE_RTREE=1 and got the
following warnings:
>
> sqlite3.c(120736): warning C4244: '=' : conversion from 'double' to
'float', possible loss of data
> sqlite3.c(120749): warning C4244: '+=' : conversion from 'double' to
'float', possible loss of data
> sqlite3.c(120834): warning C4244: '=' : conversion from 'double' to
'float', possible loss of data
> sqlite3.c(121803): warning C4244: '+=' : conversion from 'double' to
'float', possible loss of data
> sqlite3.c(121804): warning C4244: '+=' : conversion from 'double' to
'float', possible loss of data
> sqlite3.c(121808): warning C4244: '=' : conversion from 'double' to
'float', possible loss of data
> sqlite3.c(121815): warning C4244: 'initializing' : conversion from
'double'
> to 'float', possible loss of data
> sqlite3.c(121914): warning C4244: 'function' : conversion from 'i64'
to 'int', possible loss of data
> sqlite3.c(121917): warning C4244: 'function' : conversion from 'i64'
to 'int', possible loss of data
>
> Thank you

Those are warnings, not errors, so won't prevent the build completing -
You can hide the warnings with a compiler pragma: #pragma warning
(disable: 4244), or you could edit the code itself and cast the doubles
explicitly as floats.

I don't think they're anything to be concerned about.  If I compile the
code in my project (without SQLITE_ENABLE_RTREE I should note) with
Level 4 warnings on the file properties in Visual Studio, I get a ream
of warnings, but they've yet to cause any problems at all (hence I
compile with Level 3 warnings so I don't keep seeing them).

Nick.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to