ios - Warning: Signed shift result (0x1F0000000) requires 34 bits to represent, but 'int' only has 32 bits -


after compiling remail project no error, 1 of warnings is:

remail-iphone/sqlite3/sqlite3.c:18703:15: signed shift result (0x1f0000000) requires 34 bits represent, 'int' has 32 bits

i.e. (0x1f<<28) in following code:

  if (!(a&0x80))   {     &= (0x1f<<28)|(0x7f<<14)|(0x7f);     b &= (0x7f<<14)|(0x7f);     b = b<<7;     |= b;     s = s>>11;     *v = ((u64)s)<<32 | a;     return 7;   } 

what's proper way kill warning ios (32-bit)?

remail iphone seems using old version of sqlite (3.6.15). if i'm not mistaken, following commit should fix problem: http://www.sqlite.org/src/info/587109c81a9cf479?sbs=0

if (!(a&0x80)) {     /* assert( ((0xff<<28)|(0x7f<<14)|(0x7f))==0xf01fc07f ); */     &= 0xf01fc07f;     b &= (0x7f<<14)|(0x7f);     b = b<<7;     |= b;     s = s>>11;     *v = ((u64)s)<<32 | a;     return 7; } 

however, there might other code sections problem occurs. mentioned link shows 2 instances in util.c, since sqlite.c "an amalgamation of many separate c source files sqlite", may find additional occurences. maybe remail work recent version of sqlite, too...


Comments

Popular posts from this blog

Change php variable from jquery value using ajax (same page) -

How can I fetch data from a web server in an android application? -

jquery - How can I dynamically add a browser tab? -