From 931b4495795bc5e5413b527487d48b02de9b6ca5 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 22 Nov 2018 17:40:46 -0500 Subject: [PATCH] Extra cases for prim use-alloca and & operator --- scheme/cyclone/cgen.sld | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scheme/cyclone/cgen.sld b/scheme/cyclone/cgen.sld index b96c8b07..15ddc2e7 100644 --- a/scheme/cyclone/cgen.sld +++ b/scheme/cyclone/cgen.sld @@ -751,7 +751,9 @@ (string-append (if (or (prim:cont? p) (equal? (prim/c-var-assign p) "object") - (prim/c-var-pointer p)) ;; Assume returns object + (prim/c-var-pointer p) ;; Assume returns object + (prim->c-func-uses-alloca? p use-alloca?) + ) "" "&") cv-name) @@ -794,7 +796,8 @@ ;; (let ((cv-name (mangle (gensym 'c)))) (c-code/vars - (if (prim:allocates-object? p use-alloca?) + (if (or (prim:allocates-object? p use-alloca?) + (prim->c-func-uses-alloca? p use-alloca?)) cv-name ;; Already a pointer (string-append "&" cv-name)) ;; Point to data (list