tccgen.c: Improvements to type_to_str (only used for error messages).

1. Handle array types.
2. Print the type qualifiers of pointers.
master
Edmund Grimley Evans 2015-11-19 23:35:36 +00:00
parent ba99a70cd8
commit 58a34d22c9
1 changed files with 9 additions and 0 deletions

View File

@ -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);