Opened 9 years ago

Closed 9 years ago

#708 closed defect (fixed)

Incorrect arithmetic for LOGAND with type declarations

Reported by: emarsden Owned by: rme
Priority: normal Milestone: Clozure CL 1.6
Component: Compiler Version: trunk
Keywords: Cc:

Description

% openmcl
Welcome to Clozure Common Lisp Version 1.6-dev-r14031M (LinuxX8664)!
? (defun one (B)
  (DECLARE (TYPE (INTEGER 51357426816569 68500595286128) B))
  (LOGAND B -2))
ONE
? (defun two (B)
  (LOGAND B -2))
TWO
? (- (one 67660763903986) (two 67660763903986))
-63262717391456

Change History (3)

comment:1 Changed 9 years ago by rme

  • Owner set to rme

I assume that I introduced this bug, so I'm assigning it to myself.

comment:2 Changed 9 years ago by rme

(In [14047]) Undo, for the time being, the effects of r13887.

Those changes are supposed to exploit more cases where LOGAND and LOGIOR are applied to natural-sized operands, but the changes are buggy. See ticket:708.

comment:3 Changed 9 years ago by rme

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

Logical op improvements are improved.

This test case has been added to ccl's test suite.

Note: See TracTickets for help on using tickets.