]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Only use <nowiki>__builtin_bswap16()</nowiki> with GCC 4.8 and later. bswap-functions
authordrh <drh@noemail.net>
Tue, 30 Jun 2015 14:01:20 +0000 (14:01 +0000)
committerdrh <drh@noemail.net>
Tue, 30 Jun 2015 14:01:20 +0000 (14:01 +0000)
FossilOrigin-Name: ce8177e3e64d2ac4cd5d9e7757cdd5fcecd7d0ea

manifest
manifest.uuid
src/btreeInt.h
src/sqliteInt.h

index cfb68a89fa85fc5a367d2fdf967a5b222aeab3dc..aa0967343bf7eb26cdef72b6340e15554953858b 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Remove\sthe\suse\sof\shtonl()\sin\sthe\sprevious\scheck-in\sdue\sto\slinkage\sissues.\nAdd\sthe\sget2byteAligned()\smacro\sand\suse\sit\sfor\saccess\sto\sthe\scell\soffsets\non\sbtree\spages\sfor\sabout\sa\s1%\sperformance\sgain.
-D 2015-06-30T13:28:18.237
+C Only\suse\s<nowiki>__builtin_bswap16()</nowiki>\swith\sGCC\s4.8\sand\slater.
+D 2015-06-30T14:01:20.529
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 285a0a234ed7610d431d91671c136098c2bd86a9
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -271,7 +271,7 @@ F src/bitvec.c d1f21d7d91690747881f03940584f4cc548c9d3d
 F src/btmutex.c 45a968cc85afed9b5e6cf55bf1f42f8d18107f79
 F src/btree.c 3a535c0118872c3ee4e198b80a62d09315381dab
 F src/btree.h 969adc948e89e449220ff0ff724c94bb2a52e9f1
-F src/btreeInt.h 583240896ca96ba3b371b42e8cb6bd73c9e4717f
+F src/btreeInt.h 64b5723d8410a1f02c94d99c46b1b74cd547e6ef
 F src/build.c b3f15255d5b16e42dafeaa638fd4f8a47c94ed70
 F src/callback.c 7b44ce59674338ad48b0e84e7b72f935ea4f68b0
 F src/complete.c addcd8160b081131005d5bc2d34adf20c1c5c92f
@@ -332,7 +332,7 @@ F src/shell.c 8af3cced094aebb5f57a8ad739b9dafc7867eed7
 F src/sqlite.h.in 76d2f5637eb795b6300d9dd3c3ec3632ffafd721
 F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
 F src/sqlite3ext.h be1a718b7d2ce40ceba725ae92c8eb5f18003066
-F src/sqliteInt.h 89768198547bdd70a160e47643a0e493f711e8d0
+F src/sqliteInt.h cf643b5a34633de5d4703eba1e2b1a205af53c8a
 F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46
 F src/status.c f266ad8a2892d659b74f0f50cb6a88b6e7c12179
 F src/table.c 51b46b2a62d1b3a959633d593b89bab5e2c9155e
@@ -1364,7 +1364,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P bc27ebd7f73e9fc8e00da6ec82632e439fcce812
-R be192770615d2f155ef5ba2c23f2b23e
+P 79ff36b7170c9e7e7a9935c8b9d1665867771087
+R e9f634c6724f1e6a3b5c72453520bbb0
 U drh
-Z ba4fa6154f0804a80e26fea56b904f4a
+Z f2b5d98d916a7a92a030423af1030c7f
index 0e8e09954965f5d56a6285b6b9c9cbf6a5f8e5a3..818c8d4f8b1215d4ffd5bea942454f7ce6f789fe 100644 (file)
@@ -1 +1 @@
-79ff36b7170c9e7e7a9935c8b9d1665867771087
\ No newline at end of file
+ce8177e3e64d2ac4cd5d9e7757cdd5fcecd7d0ea
\ No newline at end of file
index 1ccdb08398690c456f8ebf9a11d38fe3ffd00fed..74117848ac407043ffb966f6e90fcfffaddf3a77 100644 (file)
@@ -699,7 +699,7 @@ struct IntegrityCk {
 */
 #if SQLITE_BYTEORDER==4321
 # define get2byteAligned(x)  (*(u16*)(x))
-#elif SQLITE_BYTEORDER==1234 && defined(__GNUC__)
+#elif SQLITE_BYTEORDER==1234 && GCC_VERSION>=4008000
 # define get2byteAligned(x)  __builtin_bswap16(*(u16*)(x))
 #else
 # define get2byteAligned(x)  ((x)[0]<<8 | (x)[1])
index aed6557cdbf970ddab676682813528d699c0189f..907434889d98ca25696f6a9f39f8d215f288b349 100644 (file)
 # define _LARGEFILE_SOURCE 1
 #endif
 
+/* What version of GCC is being used.  0 means GCC is not being used */
+#ifdef __GNUC__
+# define GCC_VERSION (__GNUC__*1000000+__GNUC_MINOR__*1000+__GNUC_PATCHLEVEL__)
+#else
+# define GCC_VERSION 0
+#endif
+
 /* Needed for various definitions... */
 #if defined(__GNUC__) && !defined(_GNU_SOURCE)
 # define _GNU_SOURCE