Just 30 years of developing C code and too-many-to-count projects where we 
always had a goal of zero-warnings no matter what switch you used.  It's really 
hard (as the SQLite guys can attest I'm sure) to make a cross-platform system.  
We use each compiler's capabilities as they are all different.

If you're implying that the opposite of "working and no warnings" is "not 
working and warnings" that's not correct.  The reference in the FAQ to testing 
is a straw-man argument against correcting warnings.  So far the only real 
reason I've heard is "it could introduce a bug" which to me is a lazy way out.  
I'm not asking that some hundreds of hours be spent to fix warnings...I'd be 
surprised if it took more than a few hours from what I've seen.  If the SQLite 
people really think the MSVC warnings are completely useless than put in the 
pragmas to disable them.,,,just like what's been done for Borland in sqlite3.c 
(and everybody uses Borland, right?)

#if defined(_MSC_VER) 
#pragma warning(disable:4127) /* conditional expression is constant */
#pragma warning(disable:4132) /* const object should be initialized */
#pragma warning(disable:4244) /* conversion from 'int' to 'u16' */
#pragma warning(disable:4668) /* not defined as a preprocessor macro */
#pragma warning(disable:4820) /* bytes padding added after data member */ 
#endif

I recently had to do a 64-bit port of some scientific code that had over 
125,000 lines.  Wanna' guess how I proceeded?  Cranked up the warnings 
gradually and found tons of problems (even exisitng bugs they didn't know 
about).  There was no way I could've hand-reviewed 125,000 lines in the 
allotted time.  I did introduce one bug at one time but that was my own mistake 
not related directly to the warnings (I was trying to clarify the flow of one 
section) and, of course, got discovered immediately during testing.

Now...when doing scientific code things like double to float demotions are most 
certainly dangerous.  I was able to clear up every warning and in the process 
reviewed a large sample of the code (basically a random sample).

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 Roger Binns [rog...@rogerbinns.com]
Sent: Friday, February 18, 2011 7:45 PM
To: General Discussion of SQLite Database
Subject: Re: [sqlite] EXT :Re: Compiler warnings in R-Tree code under Visual 
StudioExpress

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 02/18/2011 06:32 AM, Black, Michael (IS) wrote:
> You can actually have both you know, working and no warnings...I do it all 
> the time.

And what evidence do you have it actually works?

This is what the SQLite team has:

  http://www.sqlite.org/testing.html

Roger

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1fILIACgkQmOOfHg372QR5bgCfWAnrGbqJfzNowomv3qdUC9VS
y+4AnRHszeAS5Sx2kpxYvruV9uv77Fm+
=sy8h
-----END PGP SIGNATURE-----
_______________________________________________
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