Changeset 15305


Ignore:
Timestamp:
Apr 8, 2012, 9:41:32 PM (7 years ago)
Author:
gb
Message:

Recognize and suppress SHADOWED-TYPECASE-CLAUSE warnings again.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lib/compile-ccl.lisp

    r15269 r15305  
    823823            (cwd "ccl:")
    824824            (multiple-value-bind (status exit-code)
    825               (external-process-status
    826                (run-program *svn-program* (list "checkout" url "tests")
    827                             :output s :error s))
     825                (external-process-status
     826                 (run-program *svn-program* (list "checkout" url "tests")
     827                              :output s :error s))
    828828              (unless (and (eq status :exited)
    829829                           (eql exit-code 0))
     
    836836    ;; it without making the test suite non-portable across platforms...
    837837    (handler-bind ((warning (lambda (c)
    838                               (when (let ((w (or (and (typep c 'compiler-warning)
    839                                                       (eq (compiler-warning-warning-type c) :program-error)
    840                                                       (car (compiler-warning-args c)))
    841                                                  c)))
    842                                       (and (typep w 'simple-warning)
    843                                            (or
    844                                             (string-equal
    845                                              (simple-condition-format-control w)
    846                                              "Clause ~S ignored in ~S form - shadowed by ~S .")
    847                                             ;; Might as well ignore these as well, they're intentional.
    848                                             (string-equal
    849                                              (simple-condition-format-control w)
    850                                              "Duplicate keyform ~s in ~s statement."))))
    851                                 (muffle-warning c)))))
     838                              (if (typep c 'shadowed-typecase-clause)
     839                                (muffle-warning c)
     840                                (when (let ((w (or (and (typep c 'compiler-warning)
     841                                                        (eq (compiler-warning-warning-type c) :program-error)
     842                                                        (car (compiler-warning-args c)))
     843                                                   c)))
     844                                        (or (typep (car (compiler-warning-args c))
     845                                                        'shadowed-typecase-clause)
     846                                            (and (typep w 'simple-warning)
     847                                                 (or
     848                                                  (string-equal
     849                                                   (simple-condition-format-control w)
     850                                                   "Clause ~S ignored in ~S form - shadowed by ~S .")
     851                                                  ;; Might as well ignore these as well, they're intentional.
     852                                                  (string-equal
     853                                                   (simple-condition-format-control w)
     854                                                   "Duplicate keyform ~s in ~s statement.")))))
     855                                  (muffle-warning c))))))
    852856      ;; This loads the infrastructure
    853857      (load "ccl:tests;ansi-tests;gclload1.lsp")
Note: See TracChangeset for help on using the changeset viewer.