case TYPE_FUNCTION:
write_function_type(&type->function);
return;
- case TYPE_INVALID:
- panic("invalid type found");
case TYPE_COMPLEX:
case TYPE_IMAGINARY:
default:
case EXPR_LITERAL_INTEGER:
fprintf(out, "%s", expression->literal.value.begin);
break;
- EXPR_UNARY_CASES
+ case EXPR_UNARY_CASES:
write_unary_expression((const unary_expression_t*) expression);
break;
default:
static void write_function(const entity_t *entity)
{
- if (entity->function.statement != NULL) {
+ if (entity->function.body != NULL) {
fprintf(stderr, "Warning: can't convert function bodies (at %s)\n",
entity->base.symbol->string);
}
if(function_type->variadic) {
if(!first) {
fprintf(out, ", ");
- } else {
- first = 0;
}
fputs("...", out);
}
fprintf(out, ")");
const type_t *return_type = skip_typeref(function_type->return_type);
- if(!is_type_atomic(return_type, ATOMIC_TYPE_VOID)) {
+ if (!is_type_void(return_type)) {
fprintf(out, " : ");
write_type(return_type);
}
continue;
type_t *type = entity->typedefe.type;
- if(type->kind == TYPE_COMPOUND_STRUCT
- || type->kind == TYPE_COMPOUND_UNION) {
+ if (is_type_compound(type)) {
write_compound(entity->base.symbol, &type->compound);
} else if(type->kind == TYPE_ENUM) {
write_enum(entity->base.symbol, &type->enumt);