mescc: Struct by value.
authorJan Nieuwenhuizen <janneke@gnu.org>
Fri, 17 Mar 2017 21:45:48 +0000 (22:45 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Fri, 17 Mar 2017 21:45:48 +0000 (22:45 +0100)
* build-aux/mes-snarf.scm (symbol->names, function->header,
  function->environment): Remove struct by value assignment
  workarounds.
* module/language/c99/compiler.mes (ast->info): Remove struct by value
  assignment debug printing.

build-aux/mes-snarf.scm
module/language/c99/compiler.mes

index d88ac014147ab4376ac4477099eb53d7756722f8..ae80d412b0436093b803caa8c65bc6fce9d78097 100755 (executable)
@@ -80,19 +80,12 @@ exec ${GUILE-guile} --no-auto-compile -L $HOME/src/mes/build-aux -L build-aux -e
 (define (symbol->source s i)
   (string-append
    (format #f "g_free++;\n")
-   ;; FIXME: g_functions
-   (if GCC?
-       (format #f "g_cells[cell_~a] = scm_~a;\n\n" s s)
-       (string-append
-         (format #f "g_cells[cell_~a].type = scm_~a.type;\n" s s)
-         (format #f "g_cells[cell_~a].car = scm_~a.car;\n" s s)
-         (format #f "g_cells[cell_~a].cdr = scm_~a.cdr;\n\n" s s)))))
+   (format #f "g_cells[cell_~a] = scm_~a;\n\n" s s)))
 
 (define (symbol->names s i)
-  (string-append
-   (if GCC?
-       (format #f "g_cells[cell_~a].car = cstring_to_list (scm_~a.name);\n" s s)
-       (format #f "g_cells[cell_~a].car = cstring_to_list (scm_~a.car);\n" s s))))
+  (if GCC?
+      (format #f "g_cells[cell_~a].car = cstring_to_list (scm_~a.name);\n" s s)
+      (format #f "g_cells[cell_~a].car = cstring_to_list (scm_~a.car);\n" s s)))
 
 (define (function->header f i)
   (let* ((arity (or (assoc-ref (.annotation f) 'arity)
@@ -116,14 +109,7 @@ exec ${GUILE-guile} --no-auto-compile -L $HOME/src/mes/build-aux -L build-aux -e
        (format #f "~a.cdr = g_function;\n" (function-builtin-name f)))
    (format #f "g_functions[g_function++] = fun_~a;\n" (.name f))
    (format #f "cell_~a = g_free++;\n" (.name f))
-   ;; FIXME: g_functions
-   (if GCC?
-       (format #f "g_cells[cell_~a] = ~a;\n\n" (.name f) (function-builtin-name f))
-       (string-append
-         (format #f "g_cells[cell_~a].type = ~a.type;\n" (.name f) (function-builtin-name f))
-         (format #f "g_cells[cell_~a].car = ~a.car;\n" (.name f) (function-builtin-name f))
-         ;;(format #f "g_cells[cell_~a].car = MAKE_STRING (~a.car);\n" (.name f) (function-builtin-name f))
-         (format #f "g_cells[cell_~a].cdr = ~a.cdr;\n\n" (.name f) (function-builtin-name f))))))
+   (format #f "g_cells[cell_~a] = ~a;\n\n" (.name f) (function-builtin-name f))))
 
 (define (function->environment f i)
   (string-append
index 455015b7f289a9e7e20639cc9f981272c28f4a79..381f6f611042dbdb1a1432272b2b664fd0dd6e7c 100644 (file)
@@ -2031,7 +2031,6 @@ _)))))
 
         ;; g_cells[i] = c;
         ((expr-stmt (assn-expr (array-ref (p-expr (ident ,index)) (p-expr (ident ,array))) (op ,op) ,b))
-         (stderr "g_cells4[]: ~s\n" array)
          ;;(stderr "pointer_cells4[]: ~s\n" array)
          (when (not (equal? op "="))
            (stderr "OOOPS4: op=~s\n" op)
@@ -2044,11 +2043,6 @@ _)))))
                 (count (length fields))
                 (field-size 4) ;; FIXME:4, not fixed
                 (ptr (ident->pointer info array)))
-           (stderr "g_cells4[~a]: type=~a\n" array type)
-           (stderr "g_cells4[~a]: pointer=~a\n" array ptr)
-           (stderr "g_cells4[~a]: fields=~a\n" array fields)
-           (stderr "g_cells4[~a]: size=~a\n" array size)
-           (stderr "g_cells4[~a]: count=~a\n" array count)
            (clone info #:text
                   (append text
                           (.text base)
@@ -2092,11 +2086,6 @@ _)))))
                 (count (length fields))
                 (field-size 4) ;; FIXME:4, not fixed
                 (ptr (ident->pointer info array)))
-           (stderr "g_cells5[~a]: type=~a\n" array type)
-           (stderr "g_cells5[~a]: pointer=~a\n" array ptr)
-           (stderr "g_cells5[~a]: fields=~a\n" array fields)
-           (stderr "g_cells5[~a]: size=~a\n" array size)
-           (stderr "g_cells5[~a]: count=~a\n" array count)
            (clone info #:text
                   (append text
                           (.text base)