memmove! assertion fails added by C-Keen on Wed Jul 23 18:01:45 2014

; csc -specialize -debug 1P t.scm
[source]
(require-extension lolevel)

(assert
  (string=?
    "aabce"
    (let ((str (string-copy "abcde")))
      (printf "str: ~s~%" str)
      (move-memory! (make-locative str) (make-locative str) 3 0 1)
      (printf "after str: ~s~%" str)
      str)))

[
[specialization]
(lambda ()
  (let ((t28 (##core#callunit "library")))
    (let ((t29 (##core#callunit "eval")))
      (let ((t30 (##core#callunit "chicken_2dsyntax")))
        (let ((t31 (##core#callunit "lolevel")))
          (let ((t32 (let ((tmp56 (##core#inline
                                    "C_u_i_string_equal_p"
                                    "aabce"
                                    (let ((str7 (string-copy "abcde")))
                                      (let ((t24 (let ((out812 ##sys#standard-output))
                                                   (let ((t13 (##core#inline
                                                                "C_i_check_port_2"
                                                                out812
                                                                #f
                                                                #t
                                                                'printf)))
                                                     (let ((t14 (##sys#print "str: " #f out812)))
                                                       (let ((t15 (##sys#print str7 #t out812)))
                                                         (##sys#write-char-0 #\newline out812)))))))
                                        (let ((t25 (##core#inline
                                                     "C_copy_ptr_memory"
                                                     (make-locative str7)
                                                     (make-locative str7)
                                                     3
                                                     1
                                                     0)))
                                          (let ((t26 (let ((out1620 ##sys#standard-output))
                                                       (let ((t21 (##core#inline
                                                                    "C_i_check_port_2"
                                                                    out1620
                                                                    #f
                                                                    #t
                                                                    'printf)))
                                                         (let ((t22 (##sys#print "after str: " #f out1620)))
                                                           (let ((t23 (##sys#print str7 #t out1620)))
                                                             (##sys#write-char-0 #\newline out1620)))))))
                                            str7)))))))
                       (if tmp56
                         tmp56
                         (##sys#error
                           "(t.scm:2) assertion failed"
                           '(string=?
                              "aabce"
                              (let ((str (string-copy "abcde")))
                                (printf "str: ~s~%" str)
                                (move-memory!
                                  (make-locative str)
                                  (make-locative str)
                                  3
                                  0
                                  1)
                                (printf "after str: ~s~%" str)
                                str)))))))
            (let ((t33 ((##sys#implicit-exit-handler))))
              (##core#undefined))))))))

; ./t 
str: "abcde"
after str: "aabbe"

Error: (t.scm:2) assertion failed: (string=? "aabce" (let ((str (string-copy "abcde"))) (printf "str: ~s~%" str) (move-memory! (make-locative str) (make-locative str) 3 0 1) (printf "after str: ~s~%" str) str))

        Call history:

        t.scm:4: string-copy      
        t.scm:4: ##sys#print      
        t.scm:4: ##sys#print      
        t.scm:4: ##sys#write-char-0       
        t.scm:6: make-locative    
        t.scm:6: make-locative    
        t.scm:7: ##sys#print      
        t.scm:7: ##sys#print      
        t.scm:7: ##sys#write-char-0       
        t.scm:2: ##sys#error            <--

 csi

CHICKEN
(c) 2008-2014, The CHICKEN Team
(c) 2000-2007, Felix L. Winkelmann
Version 4.9.1 (rev 1051333)
openbsd-unix-gnu-x86 [ manyargs dload ptables ]
compiled 2014-07-23 on necronomicon.my.domain (OpenBSD)