Commit 317e7980 authored by Daniel Kochmański's avatar Daniel Kochmański

Merge branch 'master' into 'master'

Annotate some LOOP tests with ANSI-SPEC-PROBLEM

Closes #14

See merge request !23
parents 0a52cf93 beb164ff
...@@ -6,12 +6,14 @@ ...@@ -6,12 +6,14 @@
*.lx64fsl *.lx64fsl
*.lx32fsl *.lx32fsl
*.bc *.bc
*.tem
sandbox/ sandbox/
ansi-aux-macros.fas ansi-aux-macros.fas
ansi-aux.fas ansi-aux.fas
array-aux.fas array-aux.fas
backquote-aux.fas backquote-aux.fas
bit-aux.fas bit-aux.fas
bss-last.txt
ceiling-aux.fas ceiling-aux.fas
char-aux.fas char-aux.fas
cl-symbols-aux.fas cl-symbols-aux.fas
......
...@@ -201,26 +201,31 @@ ...@@ -201,26 +201,31 @@
;;; implementation will assign X an out-of-range value ;;; implementation will assign X an out-of-range value
;;; at the end. ;;; at the end.
(deftest loop.1.39 (deftest loop.1.39
:notes (:loop-iteration-values-in-finally :ansi-spec-problem)
(loop for x of-type (integer 1 5) from 1 to 5 collect x) (loop for x of-type (integer 1 5) from 1 to 5 collect x)
(1 2 3 4 5)) (1 2 3 4 5))
;;; Test that the index variable achieves the inclusive ;;; Test that the index variable achieves the inclusive
;;; upper bound, but does not exceed it. ;;; upper bound, but does not exceed it.
(deftest loop.1.40 (deftest loop.1.40
:notes (:loop-iteration-values-in-finally :ansi-spec-problem)
(loop for x from 1 to 5 do (progn) finally (return x)) (loop for x from 1 to 5 do (progn) finally (return x))
5) 5)
;;; Test that the index variable acheives the exclusive ;;; Test that the index variable acheives the exclusive
;;; upper bound, but does not exceed it. ;;; upper bound, but does not exceed it.
(deftest loop.1.41 (deftest loop.1.41
:notes (:loop-iteration-values-in-finally :ansi-spec-problem)
(loop for x from 1 below 5 do (progn) finally (return x)) (loop for x from 1 below 5 do (progn) finally (return x))
4) 4)
(deftest loop.1.42 (deftest loop.1.42
:notes (:loop-iteration-values-in-finally :ansi-spec-problem)
(loop for x from 10 downto 0 do (progn) finally (return x)) (loop for x from 10 downto 0 do (progn) finally (return x))
0) 0)
(deftest loop.1.43 (deftest loop.1.43
:notes (:loop-iteration-values-in-finally :ansi-spec-problem)
(loop for x from 10 above 0 do (progn) finally (return x)) (loop for x from 10 above 0 do (progn) finally (return x))
1) 1)
......
...@@ -46,6 +46,10 @@ If negative zeros are distinct this is probably not good, since it makes (defcon ...@@ -46,6 +46,10 @@ If negative zeros are distinct this is probably not good, since it makes (defcon
"Assume that (for sequence functions MAP, etc.) the element type of a vector result type "Assume that (for sequence functions MAP, etc.) the element type of a vector result type
is defined to be the type X such that result-type is a subtype of (vector X).") is defined to be the type X such that result-type is a subtype of (vector X).")
(defnote :loop-iteration-values-in-finally
"Assume that the values of iteration values in LOOP's FINALLY clause are defined to never
overstep the iteration limit.")
;;; Haible disagrees with :result-type-element-type-by-subtype ;;; Haible disagrees with :result-type-element-type-by-subtype
#+clisp (rt::disable-note :result-type-element-type-by-subtype) #+clisp (rt::disable-note :result-type-element-type-by-subtype)
#+(or openmcl gcl ecl) (rt::disable-note :nil-vectors-are-strings) #+(or openmcl gcl ecl) (rt::disable-note :nil-vectors-are-strings)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment