mescc: Allow usage of const by ignoring.
authorJan Nieuwenhuizen <janneke@gnu.org>
Mon, 10 Apr 2017 06:06:33 +0000 (08:06 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Mon, 10 Apr 2017 06:06:33 +0000 (08:06 +0200)
* module/language/c99/compiler.mes (ast->info): Support const
  declarations (by ignoring them).
* lib.c (display_helper)[!__GNUC__]: Remove branch.
* posix.c (write_byte)[!__GNUC__]: Likewise.

lib.c
module/language/c99/compiler.mes
posix.c

diff --git a/lib.c b/lib.c
index e7ac71c85714aa70a5a53cae1ea642f26908336d..ae5232055e1c87b8d5f84687dfe6d1789ec90ab5 100644 (file)
--- a/lib.c
+++ b/lib.c
@@ -86,11 +86,7 @@ display_helper (SCM x, int cont, char* sep, int fd)
     case TFUNCTION:
       {
         fputs ("#<procedure ", fd);
-#if __GNUC__
         char const *p = "?";
-#else
-        char *p = "?";
-#endif
         if (FUNCTION (x).name != 0)
           p = FUNCTION (x).name;
         fputs (p, fd);
index 6b6cb5e70eb322dbbca44e40664e9a6bdc4f2d5c..838892bb917aadb789a1d0a8de01e84a8d35cd7e 100644 (file)
                                      ((accu->ident info) name)))))
 
         ;; char *p = "t.c";
-        ((decl (decl-spec-list (type-spec (fixed-type ,type))) (init-declr-list (init-declr (ptr-declr (pointer) (ident ,name)) (initzer (p-expr (string ,string))))))
+        ((decl (decl-spec-list (type-spec (fixed-type ,type)) . _) (init-declr-list (init-declr (ptr-declr (pointer) (ident ,name)) (initzer (p-expr (string ,string))))))
          (when (not (.function info))
            (stderr "o=~s\n" o)
            decl-barf3)
                               ((accu->ident info) name)))))
         
         ;; char *p = 0;
-        ((decl (decl-spec-list (type-spec (fixed-type ,type))) (init-declr-list (init-declr (ptr-declr (pointer) (ident ,name)) (initzer (p-expr (fixed ,value))))))
+        ((decl (decl-spec-list (type-spec (fixed-type ,type)) . _) (init-declr-list (init-declr (ptr-declr (pointer) (ident ,name)) (initzer (p-expr (fixed ,value))))))
          (let ((value (cstring->number value)))
            (if (.function info)
                (let* ((locals (add-local locals name type 1))
diff --git a/posix.c b/posix.c
index 39abe7a8d91a9f2e975b53df59cd51847cb93a7c..6d9d0587e656a91478b00e2e82d90d36c39b10c9 100644 (file)
--- a/posix.c
+++ b/posix.c
@@ -118,9 +118,7 @@ write_byte (SCM x) ///((arity . n))
   char cc = VALUE (c);
   write (1, (char*)&cc, fd);
 #endif
-#if __GNUC__
   assert (TYPE (c) == TNUMBER || TYPE (c) == TCHAR);
-#endif
   return c;
 }