[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] #235: > < >= <= = 2-arg compiler rewrites are broken
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] #235: > < >= <= = 2-arg compiler rewrites are broken |
Date: |
Fri, 14 May 2010 01:07:35 -0000 |
#235: > < >= <= = 2-arg compiler rewrites are broken
----------------------+-----------------------------------------------------
Reporter: zbigniew | Owner: felix
Type: defect | Status: new
Priority: critical | Milestone: 4.6.0
Component: compiler | Version: 4.5.0
Keywords: |
----------------------+-----------------------------------------------------
The implementation of C_i_greaterp does not throw an error when the first
argument is not a number.
See example at http://paste.lisp.org/display/99206
I believe this is because it does not check the argument type of x, only
y. Instead if x is not a fixnum or flonum, C_i_greaterp just returns #f.
In other words it is missing:
else barf(C_BAD_ARGUMENT_TYPE_ERROR, ">", x);
I also believe C_i_nequalp, C_i_greaterp, C_i_lessp,
C_i_greater_or_equalp, C_i_less_or_equalp are all affected.
--
Ticket URL: <http://www.irp.oist.jp/trac/chicken/ticket/235>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.
- [Chicken-janitors] #235: > < >= <= = 2-arg compiler rewrites are broken,
Chicken Trac <=