X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Falpha%2Fvm.lisp;h=7cd45fcec91dc8f17205178f9b743f25104c6022;hb=2b1d1a8924502ad53f2de1bb0ee88f0e5b27b41c;hp=599c2345dd7c145eea4d0c1f9c520fe5c9872448;hpb=63817d29028c8551cda23f432a3328acd7fdd62f;p=sbcl.git diff --git a/src/compiler/alpha/vm.lisp b/src/compiler/alpha/vm.lisp index 599c234..7cd45fc 100644 --- a/src/compiler/alpha/vm.lisp +++ b/src/compiler/alpha/vm.lisp @@ -354,6 +354,10 @@ ;;; occure in the symbol table (for example, prepending an ;;; underscore). (defun extern-alien-name (name) - (declare (type simple-base-string name)) - ;; On the Alpha we don't do anything. - name) + (declare (type string name)) + ;; ELF ports currently don't need any prefix + (typecase name + (simple-base-string name) + (base-string (coerce name 'simple-base-string)) + (t (handler-case (coerce name 'simple-base-string) + (type-error () (error "invalid external alien name: ~S" name))))))