(when fun
(let ((destroyed-constant-args (funcall fun args)))
(when destroyed-constant-args
- (warn 'constant-modified
- :fun-name (lvar-fun-name
- (basic-combination-fun node)))
- (setf (basic-combination-kind node) :error)
- (return-from ir1-optimize-combination)))))
+ (let ((*compiler-error-context* node))
+ (warn 'constant-modified
+ :fun-name (lvar-fun-name
+ (basic-combination-fun node)))
+ (setf (basic-combination-kind node) :error)
+ (return-from ir1-optimize-combination))))))
(let ((fun (fun-info-derive-type info)))
(when fun
(let ((res (funcall fun node)))
(when fun
(let ((destroyed-constant-args (funcall fun args)))
(when destroyed-constant-args
- (warn 'constant-modified
- :fun-name (lvar-fun-name
- (basic-combination-fun node)))
+ (let ((*compiler-error-context* node))
+ (warn 'constant-modified
+ :fun-name (lvar-fun-name
+ (basic-combination-fun node)))
(setf (basic-combination-kind node) :error)
- (return-from ir1-optimize-combination)))))
+ (return-from ir1-optimize-combination))))))
(let ((attr (fun-info-attributes info)))
(when (and (ir1-attributep attr foldable)