Since these are nots a bug I will post them here my findings with 3.3.2 with
Intel compiler (one of the best and fast compiled code I've seen) under
Windows:
attach.c
.\Sqlite\v3\attach.c(36): remark #1418: external definition with no prior
declaration
int resolveAttachExpr(NameContext *pName, Expr *pExpr)
This means, this function can be made static (static function addresses
usually occupy a word instead of a sizeof (void*), in win32)
.\Sqlite\v3\attach.c(179): remark #1599: declaration hides variable "i"
(declared at line 65)
int i = db->nDb - 1;
build.c
.\Sqlite\v3\build.c(3160): remark #1599: declaration hides variable "z"
(declared at line 3139)
char *z = sqliteStrNDup((const char *)pName1->z, pName1->n);
date.c
.\Sqlite\v3\date.c(508): remark #1572: floating-point equality and
inequality comparisons are unreliable
&& (n=r)==r && n>=0 && r<7 ){
^
.\Sqlite\v3\date.c(508): remark #1572: floating-point equality and
inequality comparisons are unreliable
&& (n=r)==r && n>=0 && r<7 ){
^
.\Sqlite\v3\date.c(821): remark #1599: declaration hides variable "n"
(declared at line 758)
int n; /* Number of days since 1st day of year */
^
delete.c
.\Sqlite\v3\delete.c(213): remark #1599: declaration hides variable "addr"
(declared at line 94)
int addr;
^
expr.c
.\Sqlite\v3\expr.c(921): remark #1599: declaration hides variable "j"
(declared at line 820)
int j;
^
.\Sqlite\v3\expr.c(1080): remark #593: variable "pSrcList" was set but never
used
SrcList *pSrcList;
^
Missing #ifndef NDEBUG around the variable.
.\Sqlite\v3\expr.c(1383): remark #1599: declaration hides variable "i"
(declared at line 1363)
int i;
^
.\Sqlite\v3\expr.c(1551): remark #1599: declaration hides variable "op"
(declared at line 1463)
int aff, op;
^
insert.c
.\Sqlite\v3\insert.c(300): remark #1599: declaration hides variable "base"
(declared at line 203)
int base = sqlite3VdbeCurrentAddr(v);
^
.\Sqlite\v3\insert.c(683): remark #1599: declaration hides variable "base"
(declared at line 203)
int base = sqlite3VdbeCurrentAddr(v);
^
os_win.c
.\Sqlite\v3\os_win.c(517): remark #1419: external declaration in primary
source file
int allocateWinFile(winFile *pInit, OsFile **pId);
This means, this function can be made static.
.\Sqlite\v3\os_win.c(1482): warning #300: const variable "zeroData" requires
an initializer
static const ThreadData zeroData;
This is tricky, according to C, const variables must be initialized, but
static variables are initiated to zeroes.
pager.c
.\Sqlite\v3\pager.c(1274): remark #279: controlling expression is constant
while( 1 ){
^
These forms can be translated with not penalty in speed-code into for (;;).
.\Sqlite\v3\pager.c(1447): remark #1599: declaration hides variable "nRec"
(declared at line 1377)
u32 nRec;
^
.\Sqlite\v3\pager.c(2559): remark #1599: declaration hides variable "rc"
(declared at line 2527)
int rc;
^
.\Sqlite\v3\pager.c(2683): remark #1599: declaration hides variable "rc"
(declared at line 2527)
int rc;
^
printf.c
.\Sqlite\v3\printf.c(599): remark #1599: declaration hides variable "c"
(declared at line 212)
int i, j, n, c, isnull;
^
.\Sqlite\v3\printf.c(601): remark #1599: declaration hides parameter "arg"
(declared at line 207)
char *arg = va_arg(ap,char*);
^
select.c
.\Sqlite\v3\select.c(24): remark #1418: external definition with no prior
declaration
void clearSelect(Select *p){
^
This means, this function can be made static.
.\Sqlite\v3\select.c(560): remark #1599: declaration hides parameter "aff"
(declared at line 457)
char aff = (iParm>>16)&0xFF;
^
.\Sqlite\v3\select.c(1212): remark #1599: declaration hides variable "pTab"
(declared at line 1081)
Table *pTab = pFrom->pTab;
^
.\Sqlite\v3\select.c(1227): remark #1599: declaration hides variable "pLeft"
(declared at line 1223)
struct SrcList_item *pLeft = &pTabList->a[i-1];
^
vdbe.c
.\Sqlite\v3\vdbe.c(2974): remark #1599: declaration hides variable "rc"
(declared at line 396)
int res, rc;
^
.\Sqlite\v3\vdbe.c(3811): remark #1599: declaration hides variable "rc"
(declared at line 396)
int res, rc;
^
where.c
.\Sqlite\v3\where.c(427): remark #1599: declaration hides variable "k"
(declared at line 416)
int k;
^
.\Sqlite\v3\where.c(2088): remark #1599: declaration hides variable "i"
(declared at line 2026)
int i, j, last;
^