Commit c4134c90 authored by jjgarcia's avatar jjgarcia

All complex types are upgraded to (COMPLEX REAL)

parent cd7d965c
......@@ -25,6 +25,9 @@ ECL 0.9h
- The command line option "-s" does not take any arguments.
- In ECL, all complex types are upgraded to (COMPLEX REAL). However, parts
SUBTYPEP did not apply this.
* Design:
- Simplified the structure of the frame stack, removing redundant fields.
......
......@@ -881,6 +881,15 @@ if not possible."
;;
(defun canonical-complex-type (real-type)
(declare (si::c-local))
;; UPGRADE-COMPLEX-PART-TYPE will signal an error if REAL-TYPE
;; is not a subtype of REAL.
(unless (eq real-type '*)
(upgraded-complex-part-type real-type))
(or (find-registered-tag '(COMPLEX REAL))
(let ((tag (new-type-tag)))
(push-type '(COMPLEX REAL) tag)
tag))
#+(or)
(case real-type
((SHORT-FLOAT LONG-FLOAT INTEGER RATIO)
(let ((tag (new-type-tag)))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment