Commit 79968ea0 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

2.26.131: fix missing bits in CCL support for deferred warnings.

parent f6832b7a
......@@ -15,7 +15,7 @@
:licence "MIT"
:description "Another System Definition Facility"
:long-description "ASDF builds Common Lisp software organized into defined systems."
:version "2.26.130" ;; to be automatically updated by make bump-version
:version "2.26.131" ;; to be automatically updated by make bump-version
:depends-on ()
:components ((:module "build" :components ((:file "asdf"))))
:in-order-to (#+asdf2.27 (compile-op (monolithic-load-concatenated-source-op asdf/defsystem))))
......
;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*-
;;; This is ASDF 2.26.130: Another System Definition Facility.
;;; This is ASDF 2.26.131: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
......
......@@ -134,8 +134,7 @@
nil)
(defmethod perform ((o compile-op) (c system))
(declare (ignorable o c))
nil
#+sbcl (perform-lisp-warnings-check o c))
#+(or clozure sbcl) (perform-lisp-warnings-check o c))
#+(or clozure sbcl)
(defmethod input-files ((o compile-op) (c system))
(declare (ignorable o c))
......
......@@ -213,7 +213,7 @@ Note that ASDF ALWAYS raises an error if it fails to create an output file when
(source-note ccl:compiler-warning-source-note)
(function-name ccl:compiler-warning-function-name)) deferred-warning
(list :warning-type warning-type :function-name (reify-simple-sexp function-name)
:source (reify-source-note source-note) :args (reify-simple-sexp args))))
:source-note (reify-source-note source-note) :args (reify-simple-sexp args))))
(defun unreify-deferred-warning (reified-deferred-warning)
(destructuring-bind (&key warning-type function-name source-note args)
reified-deferred-warning
......@@ -244,11 +244,14 @@ Note that ASDF ALWAYS raises an error if it fails to create an output file when
:original-source-path ,(sb-c::compiler-error-context-original-source-path frob)))
(sb-c::undefined-warning-warnings warning))))
(asdf-debug)
(defun reify-deferred-warnings ()
#+clozure
(mapcar 'reify-deferred-warning
(if-let (dw ccl::*outstanding-deferred-warnings*)
(ccl::deferred-warnings.warnings dw)))
(let ((mdw (ccl::ensure-merged-deferred-warnings dw)))
(ccl::deferred-warnings.warnings mdw))))
#+sbcl
(when sb-c::*in-compilation-unit*
;; Try to send nothing through the pipe if nothing needs to be accumulated
......@@ -269,8 +272,8 @@ Note that ASDF ALWAYS raises an error if it fails to create an output file when
#+clozure
(let ((dw (or ccl::*outstanding-deferred-warnings*
(setf ccl::*outstanding-deferred-warnings* (ccl::%defer-warnings t)))))
(setf (ccl::deferred-warnings.warnings dw)
(mapcar 'unreify-deferred-warning reified-deferred-warnings)))
(appendf (ccl::deferred-warnings.warnings dw)
(mapcar 'unreify-deferred-warning reified-deferred-warnings)))
#+sbcl
(dolist (item reified-deferred-warnings)
;; Each item is (symbol . adjustment) where the adjustment depends on the symbol.
......@@ -300,8 +303,9 @@ Note that ASDF ALWAYS raises an error if it fails to create an output file when
(defun reset-deferred-warnings ()
#+clozure
(if-let ((dw ccl::*outstanding-deferred-warnings*))
(setf (ccl::deferred-warnings.warnings dw) nil))
(if-let (dw ccl::*outstanding-deferred-warnings*)
(let ((mdw (ccl::ensure-merged-deferred-warnings dw)))
(setf (ccl::deferred-warnings.warnings mdw) nil)))
#+sbcl
(when sb-c::*in-compilation-unit*
(setf sb-c::*undefined-warnings* nil
......
......@@ -35,7 +35,7 @@
;; "2.345.6" would be a development version in the official upstream
;; "2.345.0.7" would be your seventh local modification of official release 2.345
;; "2.345.6.7" would be your seventh local modification of development version 2.345.6
(asdf-version "2.26.130")
(asdf-version "2.26.131")
(existing-asdf (find-class (find-symbol* :component :asdf nil) nil))
(existing-version *asdf-version*)
(already-there (equal asdf-version existing-version))
......
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