From 328b06a3fc0984b80ac94fb653ca1002bf915a4e Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Mon, 6 Mar 2017 03:26:21 +0100 Subject: [PATCH] Extend type_to_str to also print storage-class specifiers. --- tccgen.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tccgen.c b/tccgen.c index 88a2bce..e34f452 100644 --- a/tccgen.c +++ b/tccgen.c @@ -2678,7 +2678,7 @@ static void type_to_str(char *buf, int buf_size, char buf1[256]; const char *tstr; - t = type->t & VT_TYPE; + t = type->t; bt = t & VT_BTYPE; buf[0] = '\0'; if (t & VT_CONSTANT) @@ -2689,6 +2689,16 @@ static void type_to_str(char *buf, int buf_size, pstrcat(buf, buf_size, "unsigned "); else if (t & VT_DEFSIGN) pstrcat(buf, buf_size, "signed "); + if (t & VT_EXTERN) + pstrcat(buf, buf_size, "extern "); + if (t & VT_STATIC) + pstrcat(buf, buf_size, "static "); + if (t & VT_TYPEDEF) + pstrcat(buf, buf_size, "typedef "); + if (t & VT_INLINE) + pstrcat(buf, buf_size, "inline "); + buf_size -= strlen(buf); + buf += strlen(buf); switch(bt) { case VT_VOID: tstr = "void";