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
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users