X-Git-Url: http://git.hcoop.net/bpt/guile.git/blobdiff_plain/110ef00ba1dfae4461afdd189fed4dfec05ee137..e0c211bb2e80605b4ae3fb121c34136f6e266b70:/test-suite/tests/cse.test diff --git a/test-suite/tests/cse.test b/test-suite/tests/cse.test index b356852c1..f9b85d495 100644 --- a/test-suite/tests/cse.test +++ b/test-suite/tests/cse.test @@ -287,4 +287,21 @@ (begin (cons 1 2 3) 4) (seq (primcall cons (const 1) (const 2) (const 3)) - (const 4)))) + (const 4))) + + (pass-if "http://bugs.gnu.org/12883" + ;; In 2.0.6, compiling this code would trigger an out-of-bounds + ;; vlist access in CSE's traversal of its "database". + (glil-program? + (compile '(define (proc v) + (let ((failure (lambda () (bail-out 'match)))) + (if (and (pair? v) + (null? (cdr v))) + (let ((w foo) + (x (cdr w))) + (if (and (pair? x) (null? w)) + #t + (failure))) + (failure)))) + #:from 'scheme + #:to 'glil))))