summaryrefslogtreecommitdiff
path: root/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'parse.c')
-rw-r--r--parse.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/parse.c b/parse.c
index 8f24134..78341fb 100644
--- a/parse.c
+++ b/parse.c
@@ -234,7 +234,7 @@ static size_t type_to_str_(Type *t, char *buffer, size_t bufsize) {
case TYPE_ARR: {
size_t written = str_copy(buffer, bufsize, "[");
if (t->flags & TYPE_IS_RESOLVED) {
- snprintf(buffer + written, bufsize - written, "%"PRIu64, t->arr.n);
+ snprintf(buffer + written, bufsize - written, U64_FMT, t->arr.n);
written += strlen(buffer + written);
} else {
written += str_copy(buffer + written, bufsize - written, "N");
@@ -2061,7 +2061,7 @@ static void fprint_expr(FILE *out, Expression *e) {
fprintf(out, "%s", e->booll ? "true" : "false");
break;
case EXPR_LITERAL_CHAR:
- fprintf(out, "'%c'", e->charl);
+ fprint_char_literal(out, e->charl);
break;
case EXPR_IDENT:
fprint_ident(out, e->ident);
@@ -2227,6 +2227,11 @@ static void fprint_decl(FILE *out, Declaration *d) {
fprintf(out, "=");
fprint_expr(out, &d->expr);
}
+ if (d->flags & DECL_FOUND_VAL) {
+ fprintf(out, "(");
+ fprint_val(out, d->val, &d->type);
+ fprintf(out, ")");
+ }
}
static void fprint_stmt(FILE *out, Statement *s) {