X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-cltl2%2Ftests.lisp;h=e32a20a846f812b75d026c023afdb612d1846999;hb=ab5427d31da2bd95805cccc8e47b8f43d3dd606d;hp=3ae20d2f558dbf66c760e4d085324801c1f946ca;hpb=5d4cadcc92642f2a23743a5458a23aa9dc544db2;p=sbcl.git diff --git a/contrib/sb-cltl2/tests.lisp b/contrib/sb-cltl2/tests.lisp index 3ae20d2..e32a20a 100644 --- a/contrib/sb-cltl2/tests.lisp +++ b/contrib/sb-cltl2/tests.lisp @@ -65,6 +65,8 @@ (macroexpand-all '(symbol-macrolet ((srlt '(nil zool))) (testr))) (symbol-macrolet ((srlt '(nil zool))) 'zool)) +;;;; DECLARATION-INFORMATION + (defmacro dinfo (thing &environment env) `',(declaration-information thing env)) @@ -90,6 +92,27 @@ (def compilation-speed) (def space)) + +(deftest declaration-information.restrict-compiler-policy.1 + (with-compilation-unit (:policy '(optimize) :override t) + (restrict-compiler-policy 'speed 3) + (eval '(cadr (assoc 'speed (dinfo optimize))))) + 3) + +(deftest declaration-information.restrict-compiler-policy.2 + (with-compilation-unit (:policy '(optimize) :override t) + (restrict-compiler-policy 'speed 3) + (locally (declare (optimize (speed 2))) + (cadr (assoc 'speed (dinfo optimize))))) + 2) + +(deftest declaration-information.restrict-compiler-policy.3 + (locally (declare (optimize (speed 2))) + (with-compilation-unit (:policy '(optimize) :override t) + (restrict-compiler-policy 'speed 3) + (cadr (assoc 'speed (dinfo optimize))))) + 2) + (deftest declaration-information.muffle-conditions.default (dinfo sb-ext:muffle-conditions) nil) @@ -226,6 +249,11 @@ (var-info this-is-global-too) (:global nil ((always-bound . t)))) +(sb-alien:define-alien-variable "errno" sb-alien:int) +(deftest alien-variable + (var-info errno) + (:alien nil nil)) + ;;;; FUNCTION-INFORMATION (defmacro fun-info (var &environment env)