]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix the SQLITE_PTR_TO_INT macro so that works on recent versions of LLVM on
authordrh <drh@noemail.net>
Sat, 3 Jun 2017 19:16:29 +0000 (19:16 +0000)
committerdrh <drh@noemail.net>
Sat, 3 Jun 2017 19:16:29 +0000 (19:16 +0000)
Macs.

FossilOrigin-Name: c4089ffbdb4b3467648c97044b0d3085da7128103079b686f608efde83c7df30

manifest
manifest.uuid
test/kvtest.c

index 983895ac63f3635ae43965a30fa914a924d5007f..419d4b7179fb1ec463c665e038f074021aef5679 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Remove\sunused\sheader\sfile\sfrom\skvtest.
-D 2017-06-03T18:27:49.570
+C Fix\sthe\sSQLITE_PTR_TO_INT\smacro\sso\sthat\sworks\son\srecent\sversions\sof\sLLVM\son\nMacs.
+D 2017-06-03T19:16:29.417
 F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 8eeb80162074004e906b53d7340a12a14c471a83743aab975947e95ce061efcc
@@ -925,7 +925,7 @@ F test/json102.test eeb54efa221e50b74a2d6fb9259963b48d7414dca3ce2fdfdeed45cb2848
 F test/json103.test c5f6b85e69de05f6b3195f9f9d5ce9cd179099a0
 F test/json104.test 877d5845f6303899b7889ea5dd1bea99076e3100574d5c536082245c5805dcaa
 F test/keyword1.test 37ef6bba5d2ed5b07ecdd6810571de2956599dff
-F test/kvtest.c 72a169a15ed221df32e5a391702b7417ef1bca427322df4e13948125c9929481
+F test/kvtest.c d6c222497db645838afe6c48e173e337ca24b97be4fd4d1dc05c38cdb4af560e
 F test/lastinsert.test 42e948fd6442f07d60acbd15d33fb86473e0ef63
 F test/laststmtchanges.test ae613f53819206b3222771828d024154d51db200
 F test/like.test 0603f4fa0dad50987f70032c05800cbfa8985302
@@ -1582,7 +1582,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P f568f666c85ab9b80592927dc033cfd65bd4415576cf5b3beaf300d68a8e074e
-R c643a285f9eb6dcdcccaac5f96bea7b4
+P dd7e043f7c9e16cd98a273b7105fa74bdd14a93db8cd5bde064cc1c40591155c
+R 8b2a39ef8a0a0553e869d5988e2c986a
 U drh
-Z d3d403c2824db574955381922cc118b1
+Z 9161894a0425d3d1f6d0c8155564a30e
index fbaa06ae2dc2796f06e40ece18fd045375744b9e..82485e8198ee9d9662382bc7a608e09d74dd599e 100644 (file)
@@ -1 +1 @@
-dd7e043f7c9e16cd98a273b7105fa74bdd14a93db8cd5bde064cc1c40591155c
\ No newline at end of file
+c4089ffbdb4b3467648c97044b0d3085da7128103079b686f608efde83c7df30
\ No newline at end of file
index b8dfe9ceab46d291a8edc1b33019a9fe5dcd0b23..ae576035fba3733af005f594665a8c1153933560 100644 (file)
@@ -151,15 +151,9 @@ static const char zHelp[] =
 #if defined(__PTRDIFF_TYPE__)  /* This case should work for GCC */
 # define SQLITE_INT_TO_PTR(X)  ((void*)(__PTRDIFF_TYPE__)(X))
 # define SQLITE_PTR_TO_INT(X)  ((sqlite3_int64)(__PTRDIFF_TYPE__)(X))
-#elif !defined(__GNUC__)       /* Works for compilers other than LLVM */
-# define SQLITE_INT_TO_PTR(X)  ((void*)&((char*)0)[X])
-# define SQLITE_PTR_TO_INT(X)  ((sqlite3_int64)(((char*)X)-(char*)0))
-#elif defined(HAVE_STDINT_H)   /* Use this case if we have ANSI headers */
+#else
 # define SQLITE_INT_TO_PTR(X)  ((void*)(intptr_t)(X))
 # define SQLITE_PTR_TO_INT(X)  ((sqlite3_int64)(intptr_t)(X))
-#else                          /* Generates a warning - but it always works */
-# define SQLITE_INT_TO_PTR(X)  ((void*)(X))
-# define SQLITE_PTR_TO_INT(X)  ((sqlite3_int64)(X))
 #endif
 
 /*
@@ -901,6 +895,7 @@ static int runMain(int argc, char **argv){
     sqlite3_open(zDb, &db);
     sqlite3_exec(db, "SELECT rowid FROM sqlite_master LIMIT 1", 0, 0, 0);
     sqlite3_close(db);
+    db = 0;
   }
   tmStart = timeOfDay();
   if( eType==PATH_DB ){
@@ -1082,6 +1077,7 @@ static int runMain(int argc, char **argv){
       }
       sqlite3_finalize(pStmt);
       sqlite3_close(db);
+      db = 0;
     }
   }
   printf("--count %d --max-id %d", nCount-nExtra, iMax);