What is important is the implication of the compile warnings. I agree that they should not be ignored, but they should be understood. For example we always take pains to remove all compiler warnings, even the innocuous and gratuitous ones, so that "noise" does not hide a significant warning.

It should not be too much trouble for you to go through Sqlite and remove the gratuitous warnings and then investigate any remaining. It would be a useful contribution to the cause and does make a contribution to "zero defect" quality.

We find that just indiscriminately casting can do more harm than good. Working on the underlying types to achieve consistency is better, otherwise you end up with a dog's breakfast like the Win32 API.
JS

Nuno Lucas wrote:
On 10/31/05, Fred Williams <[EMAIL PROTECTED]> wrote:

Look I'm certain you mean well, but the rest of us are pretty busy using
one of the best small footprint databases on the planet.  That means we
are way too busy to nit-pic a good product to pieces, just because it
won't compile clean using Mickeysoft's latest and greatest.


If you forget about "Mickeysoft's latest and greatest" and only
consider GNU C compiler will that make you change your mind?

gcc 3.3 and 3.4 compile without warnings, but 4.0 is a lot more picky
even without -Wall.

For people like me that always enable all warnings, it makes it a must
to compile sqlite as a library, because it's a nightmare to use it
"embebed".

I still love sqlite, it's just a feature request, nothing more, nothing less.

As an example, I downloaded the preprocessed code, removed tclsqlite.c, and:

[EMAIL PROTECTED]:~/src/sqlite$ gcc-4.0 *.c
alter.c: In function 'renameTableFunc':
alter.c:50: warning: pointer targets in initialization differ in signedness
alter.c:61: warning: pointer targets in assignment differ in signedness
alter.c:69: warning: pointer targets in passing argument 1 of
'sqlite3GetToken' differ in signedness
alter.c: In function 'renameTriggerFunc':
alter.c:99: warning: pointer targets in initialization differ in signedness
alter.c:111: warning: pointer targets in assignment differ in signedness
alter.c:119: warning: pointer targets in passing argument 1 of
'sqlite3GetToken' differ in signedness
alter.c: In function 'sqlite3AlterFinishAddColumn':
alter.c:445: warning: pointer targets in passing argument 1 of
'sqlite3StrNDup' differ in signedness
btree.c: In function 'unlockBtreeIfUnused':
btree.c:1537: warning: pointer targets in assignment differ in signedness
build.c: In function 'sqlite3NameFromToken':
build.c:509: warning: pointer targets in passing argument 1 of
'sqlite3StrNDup' differ in signedness
build.c: In function 'identPut':
build.c:1173: warning: pointer targets in passing argument 1 of
'sqlite3KeywordCode' differ in signedness
build.c: In function 'sqlite3CreateIndex':
build.c:2160: warning: pointer targets in assignment differ in signedness
build.c:2161: warning: pointer targets in passing argument 1 of
'strlen' differ in signedness
build.c: In function 'sqlite3Reindex':
build.c:2913: warning: pointer targets in passing argument 3 of
'sqlite3FindCollSeq' differ in signedness
date.c: In function 'isDate':
date.c:642: warning: pointer targets in passing argument 1 of
'parseDateOrTime' differ in signedness
date.c:645: warning: pointer targets in passing argument 1 of
'parseModifier' differ in signedness
date.c: In function 'strftimeFunc':
date.c:758: warning: pointer targets in initialization differ in signedness
expr.c: In function 'sqlite3RegisterExpr':
expr.c:238: warning: pointer targets in passing argument 1 of 'atoi'
differ in signedness
expr.c: In function 'sqlite3ExprAssignVarNumber':
expr.c:330: warning: pointer targets in passing argument 1 of 'atoi'
differ in signedness
expr.c: In function 'sqlite3ExprDup':
expr.c:418: warning: pointer targets in passing argument 1 of
'sqlite3StrNDup' differ in signedness
expr.c:418: warning: pointer targets in assignment differ in signedness
expr.c: In function 'sqlite3TokenCopy':
expr.c:435: warning: pointer targets in passing argument 1 of
'sqlite3StrNDup' differ in signedness
expr.c:435: warning: pointer targets in assignment differ in signedness
expr.c: In function 'sqlite3ExprIsInteger':
expr.c:755: warning: pointer targets in passing argument 1 of
'sqlite3GetInt32' differ in signedness
expr.c: In function 'nameResolverStep':
expr.c:1154: warning: pointer targets in assignment differ in signedness
expr.c: In function 'sqlite3CodeSubselect':
expr.c:1401: warning: pointer targets in initialization differ in signedness
expr.c: In function 'sqlite3ExprCode':
expr.c:1477: warning: pointer targets in passing argument 2 of
'codeInteger' differ in signedness
expr.c:1485: warning: pointer targets in passing argument 5 of
'sqlite3VdbeOp3' differ in signedness
expr.c:1498: warning: pointer targets in assignment differ in signedness
expr.c:1510: warning: pointer targets in passing argument 3 of
'sqlite3VdbeChangeP3' differ in signedness
expr.c:1632: warning: pointer targets in assignment differ in signedness
expr.c:1766: warning: pointer targets in passing argument 5 of
'sqlite3VdbeOp3' differ in signedness
expr.c: In function 'sqlite3ExprCompare':
expr.c:2059: warning: pointer targets in passing argument 1 of
'sqlite3StrNICmp' differ in signedness
expr.c:2059: warning: pointer targets in passing argument 2 of
'sqlite3StrNICmp' differ in signedness
expr.c: In function 'analyzeAggregate':
expr.c:2191: warning: pointer targets in passing argument 2 of
'sqlite3FindFunction' differ in signedness
func.c: In function 'lengthFunc':
func.c:104: warning: pointer targets in initialization differ in signedness
func.c: In function 'substrFunc':
func.c:155: warning: pointer targets in assignment differ in signedness
func.c: In function 'upperFunc':
func.c:213: warning: pointer targets in passing argument 1 of 'strcpy'
differ in signedness
func.c:213: warning: pointer targets in passing argument 2 of 'strcpy'
differ in signedness
func.c:217: warning: pointer targets in passing argument 2 of
'sqlite3_result_text' differ in signedness
func.c: In function 'lowerFunc':
func.c:226: warning: pointer targets in passing argument 1 of 'strcpy'
differ in signedness
func.c:226: warning: pointer targets in passing argument 2 of 'strcpy'
differ in signedness
func.c:230: warning: pointer targets in passing argument 2 of
'sqlite3_result_text' differ in signedness
func.c: In function 'likeFunc':
func.c:498: warning: pointer targets in passing argument 1 of
'sqlite3utf8CharLen' differ in signedness
func.c: In function 'quoteFunc':
func.c:595: warning: pointer targets in initialization differ in signedness
func.c: In function 'sqlite3IsLikeFunction':
func.c:1103: warning: pointer targets in passing argument 2 of
'sqlite3FindFunction' differ in signedness
main.c: In function 'sqlite3_errmsg':
main.c:644: warning: pointer targets in assignment differ in signedness
pager.c: In function 'pager_playback_one_page':
pager.c:1012: warning: pointer targets in passing argument 3 of
'pager_cksum' differ in signedness
parse.y: In function 'yy_reduce':
parse.y:241: warning: pointer targets in passing argument 1 of 'atoi'
differ in signedness
parse.y:242: warning: pointer targets in passing argument 1 of 'atoi'
differ in signedness
parse.y:275: warning: pointer targets in passing argument 2 of
'sqlite3AddCollateType' differ in signedness
parse.y:885: warning: pointer targets in passing argument 2 of
'sqlite3LocateCollSeq' differ in signedness
parse.y:893: warning: pointer targets in passing argument 2 of
'sqlite3LocateCollSeq' differ in signedness
pragma.c: In function 'getSafetyLevel':
pragma.c:47: warning: pointer targets in passing argument 1 of 'atoi'
differ in signedness
pragma.c:49: warning: pointer targets in passing argument 1 of
'strlen' differ in signedness
pragma.c:51: warning: pointer targets in passing argument 2 of
'sqlite3StrNICmp' differ in signedness
pragma.c: In function 'flagPragma':
pragma.c:169: warning: pointer targets in passing argument 1 of
'getBoolean' differ in signedness
pragma.c: In function 'sqlite3Pragma':
pragma.c:322: warning: pointer targets in passing argument 1 of
'getBoolean' differ in signedness
pragma.c:430: warning: pointer targets in passing argument 1 of
'getSafetyLevel' differ in signedness
pragma.c:621: warning: pointer targets in passing argument 1 of
'getBoolean' differ in signedness
printf.c: In function 'vxprintf':
printf.c:628: warning: pointer targets in passing argument 2 of 'func'
differ in signedness
select.c: In function 'sqlite3JoinType':
select.c:112: warning: pointer targets in passing argument 1 of
'sqlite3StrNICmp' differ in signedness
select.c: In function 'setToken':
select.c:157: warning: pointer targets in assignment differ in signedness
select.c: In function 'keyInfoFromExprList':
select.c:625: warning: pointer targets in assignment differ in signedness
select.c: In function 'generateColumnNames':
select.c:869: warning: pointer targets in passing argument 3 of
'sqlite3VdbeSetColName' differ in signedness
select.c:882: warning: pointer targets in passing argument 3 of
'sqlite3VdbeSetColName' differ in signedness
select.c: In function 'flattenSubquery':
select.c:2088: warning: pointer targets in passing argument 1 of
'sqlite3StrNDup' differ in signedness
select.c: In function 'simpleMinMaxQuery':
select.c:2187: warning: pointer targets in passing argument 1 of
'sqlite3StrNICmp' differ in signedness
select.c:2189: warning: pointer targets in passing argument 1 of
'sqlite3StrNICmp' differ in signedness
shell.c: In function 'output_csv':
shell.c:355: warning: pointer targets in passing argument 1 of
'isNumber' differ in signedness
shell.c: In function 'callback':
shell.c:523: warning: pointer targets in passing argument 1 of
'isNumber' differ in signedness
shell.c: In function 'dump_callback':
shell.c:694: warning: pointer targets in passing argument 2 of
'appendText' differ in signedness
tokenize.c: In function 'sqlite3RunParser':
tokenize.c:360: warning: pointer targets in assignment differ in signedness
trigger.c: In function 'sqlite3FinishTrigger':
trigger.c:240: warning: pointer targets in passing argument 3 of
'sqlite3VdbeChangeP3' differ in signedness
trigger.c: In function 'sqlitePersistTriggerStep':
trigger.c:281: warning: pointer targets in passing argument 1 of
'sqlite3StrNDup' differ in signedness
trigger.c:281: warning: pointer targets in assignment differ in signedness
trigger.c: In function 'targetSrcList':
trigger.c:623: warning: pointer targets in assignment differ in signedness
trigger.c:624: warning: pointer targets in passing argument 1 of
'strlen' differ in signedness
utf.c: In function 'sqlite3VdbeMemTranslate':
utf.c:275: warning: pointer targets in assignment differ in signedness
utf.c:311: warning: pointer targets in assignment differ in signedness
utf.c:363: warning: pointer targets in assignment differ in signedness
utf.c:368: warning: pointer targets in assignment differ in signedness
vacuum.c: In function 'execExecSql':
vacuum.c:61: warning: pointer targets in passing argument 2 of
'execSql' differ in signedness
vdbeapi.c: In function 'sqlite3_value_text':
vdbeapi.c:61: warning: pointer targets in return differ in signedness
vdbeaux.c: In function 'sqlite3VdbeIdxRowid':
vdbeaux.c:1735: warning: pointer targets in passing argument 1 of
'sqlite3GetVarint32' differ in signedness
vdbeaux.c:1736: warning: pointer targets in passing argument 1 of
'sqlite3GetVarint32' differ in signedness
vdbeaux.c:1738: warning: pointer targets in passing argument 1 of
'sqlite3VdbeSerialGet' differ in signedness
vdbeaux.c: In function 'sqlite3VdbeIdxKeyCompare':
vdbeaux.c:1774: warning: pointer targets in passing argument 2 of
'sqlite3VdbeIdxRowidLen' differ in signedness
vdbe.c: In function 'sqlite3VdbeExec':
vdbe.c:1873: warning: pointer targets in assignment differ in signedness
vdbe.c:1940: warning: pointer targets in assignment differ in signedness
vdbe.c:1940: warning: pointer targets in assignment differ in signedness
vdbe.c:1945: warning: pointer targets in passing argument 1 of
'sqlite3GetVarint32' differ in signedness
vdbe.c:1972: warning: pointer targets in passing argument 1 of
'sqlite3GetVarint32' differ in signedness
vdbe.c:2026: warning: pointer targets in passing argument 1 of
'sqlite3VdbeSerialGet' differ in signedness
vdbe.c:2189: warning: pointer targets in assignment differ in signedness
vdbe.c:2223: warning: pointer targets in assignment differ in signedness
vdbe.c:2920: warning: pointer targets in passing argument 2 of
'sqlite3VdbeIdxRowidLen' differ in signedness
vdbe.c:2937: warning: pointer targets in passing argument 3 of
'sqlite3VdbeIdxKeyCompare' differ in signedness
vdbe.c:3710: warning: pointer targets in passing argument 3 of
'sqlite3VdbeIdxKeyCompare' differ in signedness
vdbe.c:3748: warning: pointer targets in passing argument 1 of
'sqlite3GetVarint32' differ in signedness
vdbe.c:3750: warning: pointer targets in passing argument 1 of
'sqlite3GetVarint32' differ in signedness
vdbemem.c: In function 'sqlite3VdbeMemDynamicify':
vdbemem.c:76: warning: pointer targets in assignment differ in signedness
vdbemem.c: In function 'sqlite3VdbeMemMakeWriteable':
vdbemem.c:96: warning: pointer targets in assignment differ in signedness
vdbemem.c:109: warning: pointer targets in assignment differ in signedness
vdbemem.c: In function 'sqlite3VdbeMemStringify':
vdbemem.c:165: warning: pointer targets in initialization differ in signedness
vdbemem.c:177: warning: pointer targets in passing argument 2 of
'sqlite3_snprintf' differ in signedness
vdbemem.c:180: warning: pointer targets in passing argument 2 of
'sqlite3_snprintf' differ in signedness
vdbemem.c:182: warning: pointer targets in passing argument 1 of
'strlen' differ in signedness
vdbemem.c:183: warning: pointer targets in assignment differ in signedness
vdbemem.c: In function 'sqlite3ValueFromExpr':
vdbemem.c:769: warning: pointer targets in passing argument 1 of
'sqlite3StrNDup' differ in signedness
vdbemem.c:789: warning: pointer targets in passing argument 1 of
'sqlite3StrNDup' differ in signedness
where.c: In function 'isLikeOrGlob':
where.c:514: warning: pointer targets in assignment differ in signedness

Reply via email to