Dimitris Vardoulakis | 14 Jun 18:08

bug in CPS conversion

Hi,
I'm experimenting with the CPS conversion of the native-code compiler
and I get this error message:
----------
Error: incompatible jumps
       51
       51
1> ,preview
  signal in signals
  loop in complete-to-cps in template->node
  unnamed
  closure->node in template->node
  x->node in cfa-optimizer-frontend
  unnamed in cps-transform-globals in cfa-optimizer-frontend
  loop in for-each1 in scheme-level-1
  cps-transform-globals in cfa-optimizer-frontend
  analyze-proc/bench in cfa-optimizer-frontend
  lp in run-benchmark in cfa-bench
  loop in for-each1 in scheme-level-1
  evaluate-and-select in command-processor
  command-loop
  thread-start in thread-top-level in threads
-----------

when I try to CPS-convert the following code:
-----------
(define (app flag)
  ((lambda (f arg)
     (+ 16 (f arg)))
   (if flag
       (lambda (x) (+ x 1))
       (lambda (y) (* y 2)))
   33))

(define (cfa-test-dvbench)
  (app #f))
------------

I'm not sure what else to report, let me know if you need more information.

Dimitris


Gmane