/[gcl]/gcl/ansi-tests/dynamic-extent.lsp
ViewVC logotype

Diff of /gcl/ansi-tests/dynamic-extent.lsp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by pfdietz, Thu Jun 16 14:09:59 2005 UTC revision 1.3 by pfdietz, Fri Jun 17 12:59:40 2005 UTC
# Line 11  Line 11 
11    
12  (deftest dynamic-extent.2  (deftest dynamic-extent.2
13    (let ((x 'a))    (let ((x 'a))
14      (declare (dynamic-extent x))      (declare (dynamic-extent x) (optimize speed (safety 0)))
15      x)      x)
16    a)    a)
17    
18  (deftest dynamic-extent.3  (deftest dynamic-extent.3
19    (let ((x (list 'a 'b 'c)))    (let ((x (list 'a 'b 'c)))
20      (declare (dynamic-extent x))      (declare (dynamic-extent x) (optimize speed (safety 0)))
21      (length x))      (length x))
22    3)    3)
23    
24  (deftest dynamic-extent.4  (deftest dynamic-extent.4
25    (let ((x (vector 'a 'b 'c)))    (let ((x (vector 'a 'b 'c)))
26      (declare (dynamic-extent x))      (declare (dynamic-extent x) (optimize speed (safety 0)))
27      (length x))      (length x))
28    3)    3)
29    
30  (deftest dynamic-extent.5  (deftest dynamic-extent.5
31    (flet ((%f (x) (list 'a x)))    (flet ((%f (x) (list 'a x)))
32      (declare (dynamic-extent (function %f)))      (declare (dynamic-extent (function %f))
33                 (optimize speed (safety 0)))
34      (mapcar #'%f '(1 2 3)))      (mapcar #'%f '(1 2 3)))
35    ((a 1) (a 2) (a 3)))    ((a 1) (a 2) (a 3)))
36    
37  (deftest dynamic-extent.6  (deftest dynamic-extent.6
38    (labels ((%f (x) (list 'a x)))    (labels ((%f (x) (list 'a x)))
39      (declare (dynamic-extent (function %f)))      (declare (dynamic-extent (function %f))
40                 (optimize speed (safety 0)))
41      (mapcar #'%f '(1 2 3)))      (mapcar #'%f '(1 2 3)))
42    ((a 1) (a 2) (a 3)))    ((a 1) (a 2) (a 3)))
43    
# Line 43  Line 45 
45    (labels ((%f (x) (if (consp x)    (labels ((%f (x) (if (consp x)
46                         (cons (%f (car x)) (%f (cdr x)))                         (cons (%f (car x)) (%f (cdr x)))
47                       '*)))                       '*)))
48      (declare (dynamic-extent (function %f)))      (declare (dynamic-extent (function %f))
49                 (optimize speed (safety 0)))
50      (mapcar #'%f '((1) 2 (3 4 5))))      (mapcar #'%f '((1) 2 (3 4 5))))
51    ((* . *) * (* * * . *)))    ((* . *) * (* * * . *)))
52    
53  (deftest dynamic-extent.8  (deftest dynamic-extent.8
54    (let ((x (+ most-positive-fixnum 2)))    (let ((x (+ most-positive-fixnum 2)))
55      (declare (dynamic-extent x))      (declare (dynamic-extent x)
56                 (optimize speed (safety 0)))
57      (1- x))      (1- x))
58    #.(1+ most-positive-fixnum))    #.(1+ most-positive-fixnum))
59    
60  (deftest dynamic-extent.9  (deftest dynamic-extent.9
61    (flet ((f () (list 'a 'b)))    (flet ((f () (list 'a 'b)))
62      (let ((f (list 'c 'd)))      (let ((f (list 'c 'd)))
63        (declare (dynamic-extent (function f)))        (declare (dynamic-extent (function f))
64                   (optimize speed (safety 0)))
65        f))        f))
66    (c d))    (c d))
67    
# Line 64  Line 69 
69    (let ((x nil))    (let ((x nil))
70      (values      (values
71       x       x
72       (locally (declare (dynamic-extent x) (notinline length))       (locally (declare (dynamic-extent x) (notinline length)
73                           (optimize speed (safety 0)))
74                (setq x (list 'a 'b 'c 'd 'e))                (setq x (list 'a 'b 'c 'd 'e))
75                (prog1 (length x) (setq x t)))                (prog1 (length x) (setq x t)))
76       x))       x))
# Line 73  Line 79 
79  (deftest dynamic-extent.11  (deftest dynamic-extent.11
80    (let* ((x (list 'a 'b))    (let* ((x (list 'a 'b))
81           (y (cons 'c x)))           (y (cons 'c x)))
82      (declare (dynamic-extent y))      (declare (dynamic-extent y)
83                 (optimize speed (safety 0)))
84      (cdr y))      (cdr y))
85    (a b))    (a b))
86    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26