Revert "mescc: Tinycc support: workaround for nyacc "\0" bug."
authorJan Nieuwenhuizen <janneke@gnu.org>
Fri, 4 Aug 2017 09:45:15 +0000 (11:45 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Fri, 4 Aug 2017 09:45:15 +0000 (11:45 +0200)
This reverts commit b160540e221dbeb96908823b5a3504bdbfd7f751.

Fixed by: https://lists.gnu.org/archive/html/guile-user/2017-08/msg00007.html

module/language/c99/compiler.mes

index 0928f46908bea4cb5f7e89d57a759fcfc47a405c..6a6c4d8e83b1e81213ba3d6636dc8ee26be1e288 100644 (file)
       ((p-expr (fixed ,value)) (cstring->number value))
       (_ (error "initzer->value: " o)))))
 
-(define (fix-null o)
-  (if (equal? o "\nul") (make-string 1 #\nul) o))
-
 (define (initzer->data info)
   (lambda (o)
     (pmatch o
       ((initzer (p-expr (char ,char)))  (int->bv32 (char->integer (string-ref char 0))))
       ((initzer (p-expr (string ,string))) `((#:string ,string) #f #f #f))
-      ((initzer (p-expr (string . ,strings))) `((#:string ,(string-join (map fix-null strings) "")) #f #f #f))
+      ((initzer (p-expr (string . ,strings))) `((#:string ,(string-join strings "")) #f #f #f))
       ((initzer (initzer-list . ,initzers)) (append-map (initzer->data info) initzers))
       ((initzer (ref-to (p-expr (ident ,name)))) `(,name #f #f #f))
       ((initzer (ref-to (i-sel (ident ,field) (cast (type-name (decl-spec-list ,struct) (abs-declr (pointer))) (p-expr (fixed ,base))))))
          (or (assoc g globals)
              (string->global-entry string))))
       ((p-expr (string . ,strings))
-       (let* ((string (string-join (map fix-null strings) ""))
+       (let* ((string (string-join strings ""))
               (g `(#:string ,string)))
          (or (assoc g globals)
              (string->global-entry string))))