X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fhppa%2Fvm.lisp;h=46a2882ab7c113920e7cb19a9fb857392de6785c;hb=8a8568603cc7cacd188fe1cac18824a69bece6af;hp=128d75fa6273f62027b4bb4aacab0a4f5b6c9ed8;hpb=63817d29028c8551cda23f432a3328acd7fdd62f;p=sbcl.git diff --git a/src/compiler/hppa/vm.lisp b/src/compiler/hppa/vm.lisp index 128d75f..46a2882 100644 --- a/src/compiler/hppa/vm.lisp +++ b/src/compiler/hppa/vm.lisp @@ -277,7 +277,8 @@ (sc-number-or-lose 'zero)) (null (sc-number-or-lose 'null)) - ((or fixnum system-area-pointer character) + ((or (integer #.sb!xc:most-negative-fixnum #.sb!xc:most-positive-fixnum) + system-area-pointer character) (sc-number-or-lose 'immediate)) (symbol (if (static-symbol-p value) @@ -350,5 +351,10 @@ ;;; occure in the symbol table (for example, prepending an ;;; underscore). On the HPPA we just leave it alone. (defun extern-alien-name (name) - (declare (type simple-base-string name)) - 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))))))