Ticket #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
Change History
Note: See
TracTickets for help on using
tickets.

