/ Check-in [8a171548]
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:A proposed patch for working around a bug in the optimizer for the HP compiler found on HP/UX Itanium.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | hp-optimizer-fix
Files: files | file ages | folders
SHA1: 8a171548e4f665f03d00af6dcb46669a4a78fad5
User & Date: drh 2015-11-06 17:28:00
Context
2015-11-06
20:13
Work around a sign-extension bug in the optimizer on the HP C compiler that comes with HP/UX. check-in: 46c36b15 user: drh tags: trunk
17:28
A proposed patch for working around a bug in the optimizer for the HP compiler found on HP/UX Itanium. Closed-Leaf check-in: 8a171548 user: drh tags: hp-optimizer-fix
17:01
Test cases for the ieee754 extension. check-in: 840cbda8 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/vdbeaux.c.

3315
3316
3317
3318
3319
3320
3321




3322
3323
3324
3325
3326
3327
3328
      testcase( pMem->u.i<0 );
      return 3;
    }
    case 4: { /* 4-byte signed integer */
      /* EVIDENCE-OF: R-01849-26079 Value is a big-endian 32-bit
      ** twos-complement integer. */
      pMem->u.i = FOUR_BYTE_INT(buf);




      pMem->flags = MEM_Int;
      testcase( pMem->u.i<0 );
      return 4;
    }
    case 5: { /* 6-byte signed integer */
      /* EVIDENCE-OF: R-50385-09674 Value is a big-endian 48-bit
      ** twos-complement integer. */







>
>
>
>







3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
      testcase( pMem->u.i<0 );
      return 3;
    }
    case 4: { /* 4-byte signed integer */
      /* 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;
    }
    case 5: { /* 6-byte signed integer */
      /* EVIDENCE-OF: R-50385-09674 Value is a big-endian 48-bit
      ** twos-complement integer. */