~ chicken-core (chicken-5) 2fdacd1a5d49b0986b6b14abf0ca82b09bdf9582


commit 2fdacd1a5d49b0986b6b14abf0ca82b09bdf9582
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Sun Jul 12 22:37:45 2015 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Sun Jul 12 22:37:45 2015 +0200

    minimal example (fac) compiles

diff --git a/c-backend.scm b/c-backend.scm
index 23c615a7..6ac06f09 100644
--- a/c-backend.scm
+++ b/c-backend.scm
@@ -368,7 +368,7 @@
 	     (let* ((n (length subs))
 		    (nf (+ n 1)) )
 	       (push-args subs i "C_SCHEME_UNDEFINED")
-	       (gen #t "C_" (first params) "_toplevel(" nf ",av);")))
+	       (gen #t "C_" (first params) "_toplevel(" nf ",av2);")))
 
 	    ((##core#return)
 	     (gen #t "return(")
@@ -518,7 +518,7 @@
 	(for-each 
 	 (lambda (uu) 
 	   (gen #t "C_noret_decl(C_" uu "_toplevel)"
-		#t "C_externimport void C_ccall C_" uu "_toplevel(C_word c,C_word av) C_noret;"))
+		#t "C_externimport void C_ccall C_" uu "_toplevel(C_word c,C_word *av) C_noret;"))
 	 used-units)
 	(unless (zero? n)
 	  (gen #t #t "static C_TLS C_word lf[" n "];") )
@@ -776,7 +776,7 @@
 		  (let ([ldemand (fold (lambda (lit n) (+ n (literal-size lit))) 0 literals)]
 			[llen (length literals)] )
 		    (gen #t "C_word *a;"
-			 #t "if(toplevel_initialized) C_kontinue(t1,C_SCHEME_UNDEFINED);"
+			 #t "if(toplevel_initialized) { C_kontinue(t1,C_SCHEME_UNDEFINED); }"
 			 #t "else C_toplevel_entry(C_text(\"" topname "\"));")
 		    (when disable-stack-overflow-checking
 		      (gen #t "C_disable_overflow_check=1;") )
@@ -788,7 +788,7 @@
 			(gen #t "C_resize_stack(" target-stack-size ");") ) )
 		    (gen #t "C_check_nursery_minimum(" demand ");"
 			 #t "if(!C_demand(" demand ")){"
-			 #t "C_save_and_reclaim((void*)toplevel, c, av);}"
+			 #t "C_save_and_reclaim((void*)C_toplevel, c, av);}"
 			 #t "toplevel_initialized=1;")
 		    (gen #t "if(!C_demand_2(" ldemand ")){"
 			 #t "C_save(t1);"
Trap