static output_limit *output_limits;
static const char *libname;
-static void write_type(type_t *type);
-
static bool is_system_header(const char *fname)
{
if (strncmp(fname, "/usr/include", 12) == 0)
write_enum_type(&type->enumt);
return;
case TYPE_ERROR:
- case TYPE_INVALID:
case TYPE_TYPEOF:
case TYPE_TYPEDEF:
panic("invalid type found");
case TYPE_ARRAY:
- case TYPE_BITFIELD:
case TYPE_REFERENCE:
case TYPE_FUNCTION:
case TYPE_COMPLEX:
case EXPR_UNARY_NOT:
fputc('!', out);
break;
- case EXPR_UNARY_CAST_IMPLICIT:
+ case EXPR_UNARY_CAST:
write_expression(expression->value);
return;
default:
const char *input_name = entity->base.source_position.input_name;
if (is_system_header(input_name))
continue;
+ if (entity->function.elf_visibility != ELF_VISIBILITY_DEFAULT)
+ continue;
if (output_limits != NULL) {
bool in_limits = false;
for (output_limit *limit = output_limits; limit != NULL;