Ignore:
Timestamp:
Oct 7, 2015, 4:33:17 AM (6 years ago)
Author:
gb
Message:

handle LOAD-TIME-VALUE differently.
In the COMPILE (EVAL) case, wrap the literal (immediate) in new acode.
make ACODE-CONSTANT-P recognize the COMPILE-FILE case, and return NIl,NIL
Fixes ticket:1317 in the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/nx1.lisp

    r16604 r16611  
    11591159  (if (and read-only-p (neq read-only-p t)) (require-type read-only-p '(member t nil)))
    11601160  ;; Then ignore it.
    1161   (if *nx-load-time-eval-token*
    11621161    (multiple-value-bind (function warnings)
    11631162                         (compile-named-function
     
    11681167                          :target (backend-name *target-backend*))
    11691168      (setq *nx-warnings* (append *nx-warnings* warnings))
    1170       (nx1-immediate context (list *nx-load-time-eval-token* `(funcall ,function))))
    1171     (nx1-immediate context (eval form))))
     1169      (if *nx-load-time-eval-token*
     1170        (nx1-immediate context (list *nx-load-time-eval-token* `(funcall ,function)))
     1171   
     1172      (make-acode (%nx1-operator load-time-value)
     1173              (make-acode (%nx1-operator immediate)
     1174                          (funcall function))))))
    11721175
    11731176(defun nx1-catch-body (context body)
Note: See TracChangeset for help on using the changeset viewer.