002-one-param.scm (577B)
1 ;; tests/cc-cg/02-one-param.scm — function with one int param, return it. 2 ;; Mirrors the Phase 1 milestone shape (int main(int argc) { return argc; }). 3 ;; Exercises cg-fn-begin's param spill path and cg-push-sym → cg-load. 4 5 (let* ((cg (cg-init)) 6 (params (cg-fn-begin cg "main" 7 (list (cons "argc" %t-i32)) 8 %t-i32)) 9 (argc* (cdr (car params)))) 10 (cg-push-sym cg argc*) ; lval frame 11 (cg-load cg) ; rval i32 12 (cg-return cg) 13 (cg-fn-end cg) 14 (write-bv-fd 1 (cg-finish cg)))