I will point out only some kind of warnings I saw (i.e. not signed vs
unsigned) using the Intel Compiler:
os_win.c
.\Sqlite\v3\os_win.c(1482): warning #300: const variable "zeroData" requires
an initializer
static const ThreadData zeroData;
^
the patch was done in os_unix but not here.
vdbe.c
.\Sqlite\v3\vdbe.c(3818): remark #1599: declaration hides variable "rc"
(declared at line 396)
int res, rc;
^
shell.c
.\Sqlite\v3\shell.c(250): remark #1418: external definition with no prior
declaration. Can be made static.
char *modeDescr[MODE_NUM_OF] = {
^
.\Sqlite\v3\shell.c(914): remark #1599: declaration hides variable "i"
(declared at line 850)
int i;
^
.\Sqlite\v3\shell.c(1023): remark #1599: declaration hides variable "rc"
(declared at line 853)
int rc; /* Result code */
^
.\Sqlite\v3\shell.c(1026): remark #1599: declaration hides variable "i"
(declared at line 850)
int i, j; /* Loop counters */
^
.\Sqlite\v3\shell.c(1029): remark #1599: declaration hides parameter "zLine"
(declared at line 849)
char *zLine; /* A single line of input from the file */
^
.\Sqlite\v3\shell.c(1232): remark #1599: declaration hides variable "i"
(declared at line 850)
int i;
^
.\Sqlite\v3\shell.c(1292): remark #1599: declaration hides variable "i"
(declared at line 850)
int i;
^
.\Sqlite\v3\shell.c(1314): remark #1599: declaration hides variable "rc"
(declared at line 853)
int nRow, rc;
^
.\Sqlite\v3\shell.c(1346): remark #1599: declaration hides variable "i"
(declared at line 850)
int i, j;
^
.\Sqlite\v3\shell.c(1456): remark #1599: declaration hides variable "rc"
(declared at line 1447)
int rc = do_meta_command(zLine, p);
^
.\Sqlite\v3\shell.c(1621): remark #1418: external definition with no prior
declaration. Can be made static.
void main_init(struct callback_data *data) {
^
.\Sqlite\v3\shell.c(1693): warning #266: function declared implicitly. This
"no include header" was always missing (since version 2.x).
if( access(data.zDbFilename, 0)==0 ){
^
Also:
main.c
.\Sqlite\v3\main.c(32): remark #1418: external definition with no prior
declaration
const char rcsid3[] = "@(#) \044Id: SQLite version " SQLITE_VERSION " $";
^
This rcsid3 is not found/used anywhere else.
.\Sqlite\v3\main.c(33):
const char sqlite3_version[] = SQLITE_VERSION;
this is only used in func.c, but it could use sqlite3_libversion. Why
publish both of them? I would leave the sqlite3_version[] static in main.c