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;
^

Reply via email to