Opened 8 years ago

Closed 8 years ago

#894 closed defect (fixed)

(SIGNED-BYTE 64) / (UNSIGNED-BYTE 64) problem on ARM + patch

Reported by: ivan4th Owned by:
Priority: normal Milestone:
Component: Compiler Version: trunk
Keywords: Cc:

Description

I've noticed the problem that some perfectly valid numbers like #x40000000 weren't recognized as (SIGNED-BYTE 64) / (UNSIGNED-BYTE 64) when working with cl-sqlite. I've distilled the problem down to ccl::%%set-signed-longlong / ccl::%%set-unsigned-longlong (see attached test) and further down to .SPgetu64 / .SPgets64 implementations in ARM lisp kernel. The problem was that 'one-digit' bignums weren't taken into account by these subprims. My patch seems to fix this, but I don't often write ARM assembly, so please take a look at it before applying.

Attachments (2)

longlong-test.lisp (853 bytes) - added by ivan4th 8 years ago.
Test case
ccl-arm-get64.diff (1.5 KB) - added by ivan4th 8 years ago.

Download all attachments as: .zip

Change History (3)

Changed 8 years ago by ivan4th

Test case

Changed 8 years ago by ivan4th

comment:1 Changed 8 years ago by rme

  • Resolution set to fixed
  • Status changed from new to closed

Should be fixed in r15093.

Note: See TracTickets for help on using tickets.