(unless (symbolp name)
(error "The constant name is not a symbol: ~S" name))
(when (looks-like-name-of-special-var-p name)
- (style-warn "defining ~S as a constant, even though the name follows~@
-the usual naming convention (names like *FOO*) for special variables"
- name))
+ (style-warn 'sb!kernel:ignoring-asterisks-in-constant-variable-name
+ :format-control "defining ~S as a constant"
+ :format-arguments (list name)))
(sb!c:with-source-location (source-location)
(setf (info :source-location :constant name) source-location))
(let ((kind (info :variable :kind name)))
;; doubt such warnings are ANSI-compliant, but I'm not sure, so I've
;; written this in a way that CMU CL will tolerate and which ought to
;; work elsewhere too.) -- WHN 2001-03-24
- (eval `(defconstant ,name ',value))))
+ (eval `(defconstant ,name ',value)))
+ ;; It would certainly be awesome if this was only needed for symbols
+ ;; in CL. Unfortunately, that is not the case. Maybe some are moved
+ ;; back in CL later on?
+ (setf (info :variable :xc-constant-value name) value))
(setf (info :variable :kind name) :constant)
name)