From 17e0e0cab7777bde3c5b4f643229429e0431972f Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 28 Jul 2017 15:45:22 +0200 Subject: [PATCH] mescc: Tinycc support: bugfix *foo = bar. * module/language/c99/compiler.mes (base->ident-address): Typo, fixes (non-char*)*x = y. * scaffold/tests/77-pointer-assign.c (test): Test it. --- module/language/c99/compiler.mes | 2 +- scaffold/tests/77-pointer-assign.c | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/module/language/c99/compiler.mes b/module/language/c99/compiler.mes index f410d3b8..0fb8231a 100644 --- a/module/language/c99/compiler.mes +++ b/module/language/c99/compiler.mes @@ -395,7 +395,7 @@ 4))) (wrap-as (append (i386:local->accu (local:id local)) (if (= size 1) (i386:byte-base->accu-address) - (i386:byte-base->accu-address))))) + (i386:base->accu-address))))) (let ((size 4)) ;; FIXME (wrap-as (append (i386:label-mem->accu `(#:address ,o)) (if (= size 1) (i386:byte-base->accu-address) diff --git a/scaffold/tests/77-pointer-assign.c b/scaffold/tests/77-pointer-assign.c index d8f063c9..dbc47f64 100644 --- a/scaffold/tests/77-pointer-assign.c +++ b/scaffold/tests/77-pointer-assign.c @@ -57,9 +57,8 @@ test () eputs ("f.bar:"); eputs (itoa (f.bar)); eputs ("\n"); if (f.bar != 0x11223344) return 1; add2 (&f.bar); - // FIXME - // eputs ("f.bar:"); eputs (itoa (f.bar)); eputs ("\n"); - // if (f.bar != 0x22334455) return 2; + eputs ("f.bar:"); eputs (itoa (f.bar)); eputs ("\n"); + if (f.bar != 0x22334455) return 2; return 0; }