diff --git a/module/language/c99/compiler.mes b/module/language/c99/compiler.mes index e779d200..e750e7b3 100644 --- a/module/language/c99/compiler.mes +++ b/module/language/c99/compiler.mes @@ -449,6 +449,13 @@ locals)) (pmatch o ((expr) info) + + ((comma-expr) info) + + ((comma-expr ,a . ,rest) + (let ((info ((expr->accu info) a))) + ((expr->accu info) `(comma-expr ,@rest)))) + ((p-expr (string ,string)) (let* ((globals ((globals:add-string globals) string)) (info (clone info #:globals globals))) diff --git a/scaffold/tests/74-multi-line-string.c b/scaffold/tests/74-multi-line-string.c index e3d1c875..f90b214f 100644 --- a/scaffold/tests/74-multi-line-string.c +++ b/scaffold/tests/74-multi-line-string.c @@ -31,7 +31,7 @@ char const* help = int test () { - if (strcmp (help, "All your base are")) return 1; + if (printf ("belong to us"), strcmp (help, "All your base are")) return 1; - return 0; + return 2,1,0; }