X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=type.c;h=9d9c36f32493aaf9927a9dd39d27e1df6bc9897a;hb=05dbb10d24382cce46842d47c7eab8471a8c8834;hp=fade11ff4fa5355c0ad058240151676d3058648a;hpb=97f33b63c421063c4cbc869c60076b9132667835;p=cparser diff --git a/type.c b/type.c index fade11f..9d9c36f 100644 --- a/type.c +++ b/type.c @@ -40,23 +40,25 @@ void print_atomic_type(FILE *out, const atomic_type_t *type) print_type_qualifiers(out, & type->type); switch(type->atype) { - case ATOMIC_TYPE_INVALID: fputs("INVALIDATOMIC", out); break; - case ATOMIC_TYPE_BOOL: fputs("bool", out); break; - case ATOMIC_TYPE_CHAR: fputs("char", out); break; - case ATOMIC_TYPE_SCHAR: fputs("signed char", out); break; - case ATOMIC_TYPE_UCHAR: fputs("unsigned char", out); break; - case ATOMIC_TYPE_INT: fputs("int", out); break; - case ATOMIC_TYPE_UINT: fputs("unsigned int", out); break; - case ATOMIC_TYPE_SHORT: fputs("short", out); break; - case ATOMIC_TYPE_USHORT: fputs("unsigned short", out); break; - case ATOMIC_TYPE_LONG: fputs("long", out); break; - case ATOMIC_TYPE_ULONG: fputs("unsigned long", out); break; - case ATOMIC_TYPE_LONGLONG: fputs("long long", out); break; - case ATOMIC_TYPE_ULONGLONG: fputs("unsigned long long", out); break; - case ATOMIC_TYPE_FLOAT: fputs("float", out); break; - case ATOMIC_TYPE_DOUBLE: fputs("double", out); break; - default: fputs("UNKNOWNATOMIC", out); break; + case ATOMIC_TYPE_INVALID: fputs("INVALIDATOMIC", out); return; + case ATOMIC_TYPE_VOID: fputs("void", out); return; + case ATOMIC_TYPE_BOOL: fputs("bool", out); return; + case ATOMIC_TYPE_CHAR: fputs("char", out); return; + case ATOMIC_TYPE_SCHAR: fputs("signed char", out); return; + case ATOMIC_TYPE_UCHAR: fputs("unsigned char", out); return; + case ATOMIC_TYPE_INT: fputs("int", out); return; + case ATOMIC_TYPE_UINT: fputs("unsigned int", out); return; + case ATOMIC_TYPE_SHORT: fputs("short", out); return; + case ATOMIC_TYPE_USHORT: fputs("unsigned short", out); return; + case ATOMIC_TYPE_LONG: fputs("long", out); return; + case ATOMIC_TYPE_ULONG: fputs("unsigned long", out); return; + case ATOMIC_TYPE_LONGLONG: fputs("long long", out); return; + case ATOMIC_TYPE_ULONGLONG: fputs("unsigned long long", out); return; + case ATOMIC_TYPE_LONG_DOUBLE: fputs("long double", out); return; + case ATOMIC_TYPE_FLOAT: fputs("float", out); return; + case ATOMIC_TYPE_DOUBLE: fputs("double", out); return; } + fputs("UNKNOWNATOMIC", out); } static @@ -107,7 +109,7 @@ void print_type(FILE *out, const type_t *type) return; case TYPE_ENUM: print_type_qualifiers(out, type); - fputs("TODO", out); + fputs("enum (TODO)", out); return; case TYPE_ATOMIC: print_atomic_type(out, (const atomic_type_t*) type); @@ -119,6 +121,9 @@ void print_type(FILE *out, const type_t *type) fprintf(out, "%s", ((const compound_type_t*) type)->symbol->string); } return; + case TYPE_BUILTIN: + fputs(((builtin_type_t*) type)->symbol->string, out); + return; case TYPE_METHOD: print_method_type(out, (const method_type_t*) type); return;