From 58a34d22c9bb91175fe758654cf512f3c2fe5675 Mon Sep 17 00:00:00 2001 From: Edmund Grimley Evans Date: Thu, 19 Nov 2015 23:35:36 +0000 Subject: [PATCH] tccgen.c: Improvements to type_to_str (only used for error messages). 1. Handle array types. 2. Print the type qualifiers of pointers. --- tccgen.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tccgen.c b/tccgen.c index db8b4643..d0a873e4 100644 --- a/tccgen.c +++ b/tccgen.c @@ -2427,7 +2427,16 @@ static void type_to_str(char *buf, int buf_size, goto no_var; case VT_PTR: s = type->ref; + if (t & VT_ARRAY) { + snprintf(buf1, sizeof(buf1), "%s[%ld]", varstr ? varstr : "", s->c); + type_to_str(buf, buf_size, &s->type, buf1); + goto no_var; + } pstrcpy(buf1, sizeof(buf1), "*"); + if (t & VT_CONSTANT) + pstrcat(buf1, buf_size, "const "); + if (t & VT_VOLATILE) + pstrcat(buf1, buf_size, "volatile "); if (varstr) pstrcat(buf1, sizeof(buf1), varstr); type_to_str(buf, buf_size, &s->type, buf1);