Ignore:
Timestamp:
05/03/12 04:40:28 (2 years ago)
Author:
Raymond Toy <toy.raymond@…>
Branch:
default
Message:

Don't declare strings as (simple-array character). In general that's
incorrect for literal strings because they can be base-strings or
strings, depending on the implementation. (Ecl does this).

Thus, just declare them as simple-strings which includes all string
types.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/f2cl1.l

    r1135 r1140  
    204204  (flet ((relax-1 (decl)
    205205           (cond ((and *relaxed-array-decls* (subtypep decl 'array))
    206                   (destructuring-bind (a n l)
     206                  (destructuring-bind (a &optional n l)
    207207                      decl
    208                     `(,a ,n ,(mapcar (constantly '*) l))))
     208                    (if (subtypep a 'string)
     209                        `(a ,(mapcar (constantly '*) l))
     210                        `(,a ,n ,(mapcar (constantly '*) l)))))
    209211                 (t
    210212                  decl))))
     
    10761078        (do-file)
    10771079        (do-output outport))))
    1078    
    10791080
    10801081(defun translate-and-write-subprog (prog-list outport output-path
     
    11521153       ;; external.
    11531154       (setf fun (fixup-f2cl-lib fun (cons (cadr fort-fun) *external-function-names*)))
    1154        
     1155
    11551156       (special-print fun outport)
    11561157       (format outport "~2&(in-package #-gcl #:cl-user #+gcl \"CL-USER\")~%#+#.(cl:if (cl:find-package '#:f2cl) '(and) '(or))~%")
Note: See TracChangeset for help on using the changeset viewer.