Compiler error when MAKE-ARRAY is given bad array dimensions and a fill pointer

Bug #1765749 reported by Paul F. Dietz
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
Undecided
Unassigned

Bug Description

Related to 1740784.

(lambda () (let ((x '(("foo")))) (make-array (list x) :fill-pointer 0)))

==>

Bound is not * or an INTEGER or list of one INTEGER: ("foo")
[...]
  0: (SB-KERNEL::PARSE-<INTEGER> #<unused argument> (INTEGER 0 ("foo")))
  1: (SB-KERNEL::VALUES-SPECIFIER-TYPE-R ((INTEGER 0 ("foo")) . T) (INTEGER 0 ("foo")))
  2: (SB-KERNEL::SPECIFIER-TYPE-R ((INTEGER 0 ("foo")) . T) (INTEGER 0 ("foo")))
  3: (SB-KERNEL:SPECIFIER-TYPE (INTEGER 0 ("foo")))
  4: ((SB-C:DEFTRANSFORM MAKE-ARRAY) #<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME MAKE-ARRAY :TYPE #1=#<SB-KERNEL:FUN-TYPE #> :DEFINED-TYPE #1# :WHERE-FROM :DECLARED :KIND :..
[...]

Does not occur without the :fill-pointer argument.

Does not occur if the LIST form is replaced by the (quoted) value that it evaluates to.

Revision history for this message
Stas Boukarev (stassats) wrote :

453bf5ad31fc4b72a11d4656613f55483bf35d79

Changed in sbcl:
status: New → Fix Committed
Stas Boukarev (stassats)
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.