/ Diff
Login

Differences From Artifact [869c95b0]:

To Artifact [232c242a]:


  3315   3315         testcase( pMem->u.i<0 );
  3316   3316         return 3;
  3317   3317       }
  3318   3318       case 4: { /* 4-byte signed integer */
  3319   3319         /* EVIDENCE-OF: R-01849-26079 Value is a big-endian 32-bit
  3320   3320         ** twos-complement integer. */
  3321   3321         pMem->u.i = FOUR_BYTE_INT(buf);
         3322  +#ifdef __HP_cc 
         3323  +      /* Work around a sign-extension bug in the HP compiler for HP/UX */
         3324  +      if( buf[0]&0x80 ) pMem->u.i |= 0xffffffff80000000LL;
         3325  +#endif
  3322   3326         pMem->flags = MEM_Int;
  3323   3327         testcase( pMem->u.i<0 );
  3324   3328         return 4;
  3325   3329       }
  3326   3330       case 5: { /* 6-byte signed integer */
  3327   3331         /* EVIDENCE-OF: R-50385-09674 Value is a big-endian 48-bit
  3328   3332         ** twos-complement integer. */