From: drh Date: Sat, 3 Jun 2017 19:16:29 +0000 (+0000) Subject: Fix the SQLITE_PTR_TO_INT macro so that works on recent versions of LLVM on X-Git-Tag: version-3.20.0~217 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5930f663a110ef69aa5322ae0546074a78796a45;p=thirdparty%2Fsqlite.git Fix the SQLITE_PTR_TO_INT macro so that works on recent versions of LLVM on Macs. FossilOrigin-Name: c4089ffbdb4b3467648c97044b0d3085da7128103079b686f608efde83c7df30 --- diff --git a/manifest b/manifest index 983895ac63..419d4b7179 100644 --- 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 diff --git a/manifest.uuid b/manifest.uuid index fbaa06ae2d..82485e8198 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -dd7e043f7c9e16cd98a273b7105fa74bdd14a93db8cd5bde064cc1c40591155c \ No newline at end of file +c4089ffbdb4b3467648c97044b0d3085da7128103079b686f608efde83c7df30 \ No newline at end of file diff --git a/test/kvtest.c b/test/kvtest.c index b8dfe9ceab..ae576035fb 100644 --- a/test/kvtest.c +++ b/test/kvtest.c @@ -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);