Hi, I've just upgraded from SQLite 3.6.19 to 3.7.5 and have come across the following compile warning:
sqlite3.c: In function ‘fkLookupParent’: sqlite3.c:55991: warning: assuming signed overflow does not occur when assuming that (X - c) <= X is always true How to reproduce: unzip sqlite-src-3070500.zip cd sqlite-src-3070500/ ./configure --enable-shared --disable-static --disable-tcl --disable-readline vi Makefile Add "-Wall" to the TCC makefile variable, then: make gcc -v yields: Target: i486-linux-gnu Thread model: posix gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) In my copy of the amalgamated sqlite3.c, I see: ... SQLITE_PRIVATE void sqlite3VdbeChangeP2(Vdbe *p, int addr, int val){ assert( p!=0 ); assert( addr>=0 ); if( p->nOp>addr ){ // this is line 55991 p->aOp[addr].p2 = val; } } ... The functions above (sqlite3VdbeChangeP1) and below (sqlite3VdbeChangeP3) look suspicious too. I'm a little intrigued that line 55991 is in the sqlite3VdbeChangeP2 function and not, as reported by the compiler, the fkLookupParent function !? If I configure for the non-amalgamated build, edit the Makefile to add -Wall and build, no such error appears !? I would like to use the amalgamated build (since all the documentation implores me too), but this warning makes me nervous ... Graham. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users