]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
A proposed patch for working around a bug in the optimizer for the HP compiler hp-optimizer-fix
authordrh <drh@noemail.net>
Fri, 6 Nov 2015 17:28:00 +0000 (17:28 +0000)
committerdrh <drh@noemail.net>
Fri, 6 Nov 2015 17:28:00 +0000 (17:28 +0000)
found on HP/UX Itanium.

FossilOrigin-Name: 8a171548e4f665f03d00af6dcb46669a4a78fad5

manifest
manifest.uuid
src/vdbeaux.c

index 075ff7fbdb461127f47ec2a2bfca30c3c131b987..37f03579b7d0a1875f585fb5f5523cf5d56bed1b 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Test\scases\sfor\sthe\sieee754\sextension.
-D 2015-11-06T17:01:20.579
+C A\sproposed\spatch\sfor\sworking\saround\sa\sbug\sin\sthe\soptimizer\sfor\sthe\sHP\scompiler\nfound\son\sHP/UX\sItanium.
+D 2015-11-06T17:28:00.429
 F Makefile.in 3a705bb4bd12e194212ddbdbf068310d17153cdb
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 702d3e98f3afc6587a78481257f3c4c900efc3a4
@@ -407,7 +407,7 @@ F src/vdbe.c dfbaae2570172c523bce14299021d352b8508f7f
 F src/vdbe.h efb7a8c1459e31f3ea4377824c6a7e4cb5068637
 F src/vdbeInt.h 33403622c6a8feaaac5f0f3f17f5d1bf6df42286
 F src/vdbeapi.c 020681b943e77766b32ae1cddf86d7831b7374ca
-F src/vdbeaux.c 717bc2ae9cc0b58ef398fff44bd9164bfd96772a
+F src/vdbeaux.c 5f7b42d82d1984c496927d2d739387f8363d6575
 F src/vdbeblob.c 565fabd302f5fca3bdf3d56cac330483616a39b6
 F src/vdbemem.c fdd1578e47bea61390d472de53c565781d81e045
 F src/vdbesort.c 8b23930a1289526f6d2a3a9f2e965bcc963e4a68
@@ -1399,7 +1399,10 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 33e6606f5e497e81119ec491cf2370f60bddafc0
-R 6a48cd86f6e2c59a9972f4901e737c7d
+P 840cbda88675b6012dae2423252bf42d0d563874
+R 7a881fe3a454259c48d7dca38381f204
+T *branch * hp-optimizer-fix
+T *sym-hp-optimizer-fix *
+T -sym-trunk *
 U drh
-Z 4f550f3fed6ca631b416aee9408c87ae
+Z b81d9efde52745233947ff97559d6a84
index 5f0e15612b509c6d0f480357d671df12dc838977..6d4801fa981b7ec322edd478e50adc8d00732264 100644 (file)
@@ -1 +1 @@
-840cbda88675b6012dae2423252bf42d0d563874
\ No newline at end of file
+8a171548e4f665f03d00af6dcb46669a4a78fad5
\ No newline at end of file
index f605ea3ec8513de49a712a1bfbc128620d4fc01a..4fafdcd9de50db99211a0f9093add7e0b36b2bb5 100644 (file)
@@ -3319,6 +3319,10 @@ u32 sqlite3VdbeSerialGet(
       /* EVIDENCE-OF: R-01849-26079 Value is a big-endian 32-bit
       ** twos-complement integer. */
       pMem->u.i = FOUR_BYTE_INT(buf);
+#ifdef __HP_cc 
+      /* Work around a sign-extension bug in the HP compiler for HP/UX */
+      if( buf[0]&0x80 ) pMem->u.i |= 0xffffffff80000000LL;
+#endif
       pMem->flags = MEM_Int;
       testcase( pMem->u.i<0 );
       return 4;