Cryptic warnings, or no warnings for skipped declarations
Bug #726331 reported by
Robert P. Goldman
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
Low
|
Unassigned |
Bug Description
There are a couple of cases in PROCESS-IGNORE-DECL that can either emit
a STYLE-WARNING that's a little cryptic, or ignore a declaration without
emitting anything. Here's a proposed patch that fixes this.
Originally posted to sbcl-devel and available as http://
Last tested on 1.0.45.4 on Mac OS X, but this is not a bug, it's "portable," and occurs on all platforms.
tags: | added: review |
Changed in sbcl: | |
importance: | Undecided → Low |
status: | New → Confirmed |
tags: | added: compiler |
Changed in sbcl: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
I'm actually not sure that this patch is enough. I don't understand exactly the ramifications, but with the COND in its current ordering, a non-local special variable that is declared as ignored gets a warning as an ignored undefined variable rather than an ignored special. I'm not sure that's right, but didn't want to change it.
Here's an example:
(in-package :common-lisp-user)
(defvar specialvar)
(defun warning-goofs ()
(declare (ignore specialvar undeclared))
nil)