-C Add\sthe\sexperimental\saffinity()\sSQL\sfunction\swhen\sSQLITE_DEBUG\sis\sdefined.
-D 2017-01-03T14:45:35.313
+C Make\suse\sof\sthe\s__buildin_OP_overflow()\sfunctions\sfrom\sGCC\swhen\sdoing\n64-bit\ssigned\sinteger\sarithmetic.
+D 2017-01-03T17:33:43.523
F Makefile.in 41bd4cad981487345c4a84081074bcdb876e4b2e
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc b8ca53350ae545e3562403d5da2a69cec79308da
F src/trigger.c c9f0810043b265724fdb1bdd466894f984dfc182
F src/update.c 1da7c462110bffed442a42884cb0d528c1db46d8
F src/utf.c 699001c79f28e48e9bcdf8a463da029ea660540c
-F src/util.c 1534060bc034cdc51381c040c8bd6252dbcb64c9
+F src/util.c 8c3d2aa11bacd984caf8067ed5b857de3fb53b81
F src/vacuum.c 33c174b28886b2faf26e503b5a49a1c01a9b1c16
F src/vdbe.c 88bd6c32b333580d2661ac3afe33369757fb1522
F src/vdbe.h 50ee139f9c68fff91be1d717ed3a6abbd496919c
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 36944be6be5c42096f5da84187ff203af26b08ae f778f58ae4ea3e16f51b94591a2c1e563dcb0cde
-R 4de702ec2e06c17a2db8893398d4255a
-T +closed f778f58ae4ea3e16f51b94591a2c1e563dcb0cde
+P bed0eaa5f50112e64fc97a2afdc9d56cf8f5026a
+R 082101997f3f378fcfea5fe538ad3ab9
+T *branch * gnu-safe-math
+T *sym-gnu-safe-math *
+T -sym-trunk *
U drh
-Z ab80b4c4af6ffab14c74e7e3612d1ec8
+Z 54548663084083c7fef96c176f102936
-bed0eaa5f50112e64fc97a2afdc9d56cf8f5026a
\ No newline at end of file
+82cbebb8ee4484f13e5f48d305e20e73063f273e
\ No newline at end of file
** overflow, leave *pA unchanged and return 1.
*/
int sqlite3AddInt64(i64 *pA, i64 iB){
+#if !defined(SQLITE_DISABLE_INTRINSIC) \
+ && defined(__GNUC__) && GCC_VERSION>=5004000
+ return __builtin_add_overflow(*pA, iB, pA);
+#else
i64 iA = *pA;
testcase( iA==0 ); testcase( iA==1 );
testcase( iB==-1 ); testcase( iB==0 );
}
*pA += iB;
return 0;
+#endif
}
int sqlite3SubInt64(i64 *pA, i64 iB){
+#if !defined(SQLITE_DISABLE_INTRINSIC) \
+ && defined(__GNUC__) && GCC_VERSION>=5004000
+ return __builtin_sub_overflow(*pA, iB, pA);
+#else
testcase( iB==SMALLEST_INT64+1 );
if( iB==SMALLEST_INT64 ){
testcase( (*pA)==(-1) ); testcase( (*pA)==0 );
}else{
return sqlite3AddInt64(pA, -iB);
}
+#endif
}
int sqlite3MulInt64(i64 *pA, i64 iB){
+#if !defined(SQLITE_DISABLE_INTRINSIC) \
+ && defined(__GNUC__) && GCC_VERSION>=5004000
+ return __builtin_mul_overflow(*pA, iB, pA);
+#else
i64 iA = *pA;
if( iB>0 ){
if( iA>LARGEST_INT64/iB ) return 1;
}
*pA = iA*iB;
return 0;
+#endif
}
/*